project

법과 기술적 관점

law and security 2024. 12. 20. 00:16

 

1. 암호화 적용 (데이터베이스의 안전한 저장)

 

법적 근거 : 정보통신망법 제28조의2는 개인정보를 안전하게 저장하기 위해 암호화를 의무화하고 있습니다. 특히 비밀번호와 같은 민감 정보는 해싱 등의 비가역적 암호화 방식으로 처리하도록 권장하고 있습니다.

 

기술적 구현 :  본 프로젝트에서는 민감한 정보를 안전하게 보호하기 위해 해싱 알고리즘(SHA-256)을 사용하여 암호화를 적용하였습니다. 이 방식은 비밀번호와 같은 민감 데이터를 데이터베이스에 저장하기 전에 해싱하여 저장하였습니다. 

 

  • 데이터 위조 방지 : 데이터베이스가 탈취되더라도 원본 데이터가 유출되지 않습니다.
  • 사용자 신뢰서 증대: 개인정보 보호를 위한 기술적 보안 조치로 사용자 신뢰를 강화할 수 있습니다.
<?php
$password = 'user_password';
$hashed_password = hash('sha256', $password);

// 암호화된 비밀번호를 데이터베이스에 저장 -> 민감 정보 안정하게 보호
$sql = "INSERT INTO users (username, password) VALUES ('username', '$hashed_password')";
$conn->query($sql);
?>

 

=> 기대 효과 : 민감 정보를 안전하게 보호하고, 법적 요구사항 충족, 공격자가 데이터를 위변조하거나 탈취할 가능성 최소화

 

2. 네트워크 트래픽 암호화

 

법적 근거 : 정보통신망법 제28조 및 개인정보 보호법 제29조는 개인정보 전송 시 암호화된 통신(예: HTTPS)을 사용하여 데이터를 보호할 것을 명시하고 있습니다.

 

기술적 구현 :  HTTPS 프로토콜을 적용하기 위해 SSL/TLS 인증서를 웹 서버에 설치하고, 모든 HTTP 요청을 HTTPS로 리다이렉트하도록 구성했습니다.

 

SSL/TLS 인증서 설치: Let's Encrypt 인증서를 사용하여 무료로 구현

 

<VirtualHost *:80>
   ServerName megabank.store
   Redirect permanent "/" "https://megabank.store/"
</VirtualHost>

 

=> 기대 효과 : 데이터 전송 중 중간자 공격 (MITM)방지 / 고객 신뢰도 향상 및 법적 요구사항 충족

 

3. SQL 인젝션 방지

법적 근거 : 정보통신망법 제29조는 개인정보 처리 시스템에서 SQL 인젝션과 같은 공격을 예방하기 위한 보안 대책을 마련할 것을 요구합니다.

 

기술적 구현  Prepared Statement와 바인딩 변수를 사용하여 SQL 인젝션을 방지

 

<?php
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
?>

 

=> 기대 효과  : SQL 쿼리 조작 방지 / 데이터베이스의 민감 정보 보호

 

4. 크로스사이트 요청 위조(CSRF)방지

법적 근거 : 정보통신망법은 세션 보호와 인증 강화로 CSRF와 같은 공격을 방지할 것을 요구합니다.

 

기술적 구현  CSRF 토큰을 생성하고, 모든 중요한 요청에 대해 확인하도록 설정

 

<?php
session_start();
$csrf_token = bin2hex(random_bytes(32));
$_SESSION['csrf_token'] = $csrf_token;
?>

 

 

=> 기대 효과  : 인증되지 않은 요청 방지 / 세션 하이재킹 위험 감소

 

5. XSS (크로스사이트 스크립팅) 방지

법적 근거 : 정보통신망법은 웹 애플리케이션에서 사용자 입력을 검증하고, 악성 스크립트 삽입을 방지할 것을 권고합니다.

 

기술적 구현  사용자 입력 값 필터링과 출력 시 이스케이프 처리

 

=> 기대 효과  :  악성 스크립트를 통한 데이터 탈취 및 계정 하이재킹 방지

 

 

6. 취약점 관리와 정기 점검

법적 근거 : 정보통신망법 제29조는 정보처리 시스템의 주기적인 점검과 취약점 관리를 요구합니다

 

기술적 구현  OpenVAS 를 사용해 시스템의 보안 취약점을 식별 / 모든 서버에서 최신 보안 패치를 자동으로 적용

 

=> 기대 효과  : 알려진 취약점으로 인한 시스템 침투 예방 / 법적 요구사항 준수 및 시스템 안정성 향상