Missing Encryption of Sensitive Data System & Network Security Lab 석사 25기 유창훈 2013.5.8 경로탐색 경로 유출
Table of Contents 소개 코드예제 보안대책 Q&A
Introduction 프로그램이 개인정보, 인증정보, 금융정보 등의 사용자 중요정보를 평문으로 저장하거나 통신채널을 통해 송수신할 경우 노출의 가능성. 민감한 데이터를 전송시 주의가 필요. 공격자는 최종목적지까지 이송되는 동안 다양한 노드를 거친다. 공격자는 중간에서 가로챌 수 있다. MITM 공격으로 가능하다. 소프트웨어가 민감한 정보를 로컬 파일이나 데이터베이스에 저장한다면, 공격자는 다른 방법으로 파일을 손에 넣을 수 있다. (물리적으로 훔칠수도 있다) 언론에 보도된 자료들, 고객 이메일 및 비밀번호 유출사고 데이터를 암호화 해서 보호하는것 + 데이터를 암호화해서 전송하는 것.
Introduction 허점유행도 높음 위협요소 데이터 손실 복구비용 중간 탐지정도 쉬움 공격빈도 가끔 공격자 지식베이스 상 허점유형도: 다른허점들보자 자주발견된다. 실수를 자주한다. 보안바이패스 : 복구비용 : 단일함수 + 라이브러리함수 탐지정도 : 자동화된 도구나 간단한조작 공격빈도 : 지식베이스 ; 플랫폼이나 환경에서의 허점을 발견하고 이를 악용
코드예제 쿠키에 저장되는 비밀 정보 취약한 코드 안전한 코드 function persistLogin($username, $password) { $data = array("username" => $username, "password"=> $password); setcookie ("userdata", $data); } "password"=>ENC_SHA256($password)); 쿠키는 사용자가 웹 사이트를 처음 방문할 때 웹 사이트에서 사용자 컴퓨터의 하드 디스크에 저장해 놓는 작은 파일입니다. Microsoft를 비롯한 많은 웹 사이트가 쿠키를 사용합니다. 쿠키는 사용자가 페이지를 얼마나 자주 방문하는지 알려줌으로써, 사용자가 관심을 갖는 정보를 파악할 수 있도록 해줍니다. 이를 기반으로 웹 사이트는 사용자가 좋아하는 콘텐츠를 더욱 많이 제공하고 관심을 갖지 않는 콘텐츠는 줄일 수 있습니다. 쿠키는 사용자의 효율성을 높여줍니다. 온라인 상점에서 가상 쇼핑백에 상품을 넣고 며칠 후에 다시 해당 사이트를 방문했을 때, 상품이 그대로 쇼핑백에 담겨 있는 것을 본 적이 있으신가요? 그것이 바로 쿠키의 역할입니다. 쿠키를 이용하여 사용자는 기본 설정, 사용자의 이름, 등록 상품 및 서비스를 저장할 수 있으며 페이지를 개인 설정할 수 있습니다.
코드예제 PHP를 통한 DB저장 취약한 코드 안전한 코드
코드예제 네트워크를 통해 전송되는 암호 취약한 코드 안전한 코드
보안대책 및 점검방법 평문으로 전송/저장 되어있다고 해서 모두 취약한 것은 아니다. 개인정보(주민등록번호, 여권번호 등), 금융정보(카드번호, 계좌번호 등), 패스워드 등을 저장 할 때에는 암호화 하여 저장 했는가? 통신채널을 통해 민감한 정보를 전송할 때에도 암호화 했는가?
보안대책 및 점검방법 데이터나 자원이 암호화하여 보호해야 할 만큼 가치가 있는 것인지 분명히 한다. 시스템 사용자의 개인정보 및 민감한정보(중요정보,백업)를 저장 또는 전송. 내부/ 외부 사용자 누구든지 내부의 민감한 정보에 접근 할 수 있다는 가정을 해야한다. 불필요하게 중요정보를 저장하지 않는다. 시스템 자체를 인가되지 않은 사용자로부터 보호하기 위한 암호화가 필요.
보안대책 및 점검방법 암호알고리즘 선택 관련분야의 전문가들이 강력하다고 간주하는 알고리즘 선택. : MD4, MD5, SHA1, DES 제외 , SHA-256권고 자체적으로 개발한 알고리즘 사용하지 않음. : 방지 vs 치료 구현 방식을 정확하게 구현. Java : MessageDigest Class 이용. C/php : mhash C++ : System.Security.Cryptography 추가후 SHA256객체생성.
보안대책 및 점검방법 SSL과 같은 표준 보안기술 적용. 일반적으로 공격자는 암호화 알고리즘 자체를 직접 공격하지 않음. 하지만 중간자공격(MITM)과 같은 정보 가로채기 공격을 수행함. 꾸준히 로컬네트워크 점검을 통해 중간자 공격을 예방해야함.
Q&A 감사합니다.