앱만들때 사용했었던 SEED 암복호화 모듈입니다.
첨부화일 사용예제
SeedCipher seed = new SeedCipher();
byte[] encText=seed.encrypt(원문, 비밀번호 16자리, "UTF-8"); //encText 암호문
byte[] baNote = seed.decrypt(encText,비밀번호 16자리); //baNote 원문
첨부화일은 대칭키 공개알고리즘 SEED 자바버젼입니다.
일반 가정에서도 누구나 약간의 시간만 투자하면 아이폰과 같은 자신의 스마트폰에서 왔다갔다하는 패킷을 직접 확인해 볼 수가 있습니다. 작성하고 보니 내용이 좀 많아 보이지만 실제로는 그리 복잡하지 않으니 한 번 해 보시는 것은 어떨까요? 3G 패킷을 캡쳐하기 위해서는 VPN 등을 이용해서 패킷을 우회시켜야 하는데 설정이 복잡한 편이라 여기서 다루지는 않도록 한다.
최근의 아이폰 메신저 암호화 여부 테스트 이후 다른 메신저에 대한 결과도 종종 문의해 오시는 분들이 있다. 일일이 테스트하는 것도 쉽지 않은 일이라 네트워크 지식이 부족한 일반인도 직접 가정의 Windows PC로 패킷을 캡쳐해서 눈으로 직접 확인할 수 있도록 이 글을 준비한다.
PC에 Windows 대신에 Linux가 있으면 아주 편하지만 일반적인 환경을 고려해서 Windows를 이용하는 방법을 소개한다.
이 방법은 어디까지나 자신의 스마트폰 패킷을 확인하는 방법이며 Wi-Fi sniffing을 해서 다른 사람의 패킷을 몰래 볼 수 있는 방법은 아니다.
스마트폰에서 공유기를 거쳐 인터넷으로 나가는 패킷을 PC를 거쳐서 가도록 변경한 후에 PC에서 패킷 캡쳐 프로그램을 이용해서 패킷의 내용을 직접 확인한다.
다음의 장치로 테스트를 했지만 다른 스마트폰이나 다른 Windows 버전에서도 동일하게 동작할 것이다.
일반 가정의 대부분은 다음과 같은 유무선 공유기(혹은 공유기 기능이 있는 인터넷 전화)를 통해 PC와 스마트폰을 연결해서 사용할 것이다.
각 IP는 테스트에 사용한 IP 주소이며 대부분의 가정도 이와 유사한 번호의 사설 IP 주소로 설정되어 있을 것이다. 인터넷으로 나갈 때 내부의 모든 사설 IP는 인터넷 공유기에 할당된 하나의 공인 IP로 변경이 되게 되는데 이 과정을 NAT(Network Address Translation)라고 부른다.
앞으로의 모든 설명은 아래의 구성을 바탕으로 진행하도록 하겠다. 테스트는 각 가정의 현재 IP 주소에 맞추어 진행하면 된다. 이 그림대로 IP 주소를 설정해서는 안 된다.
일반적으로 Wi-Fi 접속 환경에서의 IP 주소는 DHCP라는 프로토콜을 통해 공유기가 자동으로 할당을 하게 된다. 이 때 IP 주소 이외에 라우터(게이트웨이) 주소, DNS 주소 등도 같이 받아서 설정을 하게 된다.
PC에서 패킷 캡쳐를 하기 위해서는 라우터 주소를 공유기(192.168.10.1) 대신에 PC(192.168.10.2)로 변경해야 한다. 모든 인터넷 패킷의 최초 경유지가 공유기에서 PC로 변경이 되는 것이다.
아이폰의 경우에는 아래 그림과 같이 수동으로 설정을 해 준다. 라우터 이외에는 자동으로 받아온 기존 설정을 그대로 적어준다.(테스트가 끝난 후에는 DHCP로 복구해서 네트워크가 되지 않는 일이 없도록!)
기본적으로 Windows는 최종 목적지가 자신이 아닌 패킷은 조용히 잡아먹는다. 아이폰에서 도착한 패킷이 다시 공유기로 전달(forward)되도록 하기 위해서는 다음의 레지스트리 값을 0에서 1로 변경해야 한다. (테스트 이후에 0으로 복원한다.)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 의 IPEnableRouter
리부팅을 해야 변경 내용이 동작하는 것 같다.
참조 : http://www.wisdia.com/questions/how_to_enable_ip_packet_forwarding_windows_nt_2000_xp.aspx
※ 이 방법은 나가는 패킷에 대해서만 PC를 경유하게 된다. 들어오는 패킷의 경우에는 PC를 거치지 않고 공유기에서 바로 아이폰으로 가게 된다. 들어오는 방향에 대해서도 PC를 경유하도록 하기 위한 여러 가지 방법(PC에서 NAT 설정하기, 공유기의 라우팅 테이블 변경하기 등)이 있지만 약간 수준이 높아서 다루지 않도록 한다.
PC가 아이폰에서 온 패킷을 받고 보니 굳이 자신을 통하지 않고 바로 공유기로 가는 것이 좋다는 것을 알게 된다.(동일 LAN 세그먼트니까) 이 경우 PC는 아이폰에게 “나 한테 보내지 말고 직접 공유기에게 보내도록 하시오”라는 의미의 ICMP Redirect 패킷을 보내게 된다. 이 메시지를 받은 아이폰은 고분고분 말을 듣고 패킷을 PC로 보내지 않게 될 수가 있다.
이러한 ICMP Redirect 메시지를 PC가 보내지 않도록 막을 필요가 있다. Windows 방화벽을 통해서 막을 수 있다. (레지스트리 변경을 통해 할 수 있으면 좋겠지만 방법을 찾지는 못 했다.)
Windows7의 경우에는 아래 그림과 같은 과정으로 방화벽 설정을 할 수 있다. 다른 버전의 Windows도 비슷하게 할 수 있을 것이다.
먼저 제어판 > Windows 방화벽 > 고급 설정을 선택한다.
아웃바운드 규칙을 선택하고 새 규칙…을 클릭하여 새 아웃바운드 규칙 마법사를 선택한다.
규칙 종류에서 사용자 지정을 선택한다.
프로토콜 및 포트에서 ICMPv4를 선택하고 ICMP 설정: 사용자 지정…을 클릭한다.
특정 ICMP 종류에서 리디렉션을 선택한다.
다음으로 진행하면서 작업은 ‘연결 차단’으로 되어 있는지 확인하고 이름을 ‘ICMP Redirect 차단’과 같은 적당한 이름을 준 후에 마친다.
패킷을 캡쳐하려면 프로그램이 필요하다. 아주 좋은 프로그램을 소개한다. 개인적으로도 제일 맘에 들어하는 캡쳐 프로그램이다. Microsoft Network Monitor 이다. 현재 3.4가 최신 버전이며 무료다. 당당하게 다운받아 설치하면 된다.
설치 후에 리부팅을 해야 캡쳐 드라이버가 동작하는 것 같다.
Network Monitor를 실행시킨 후 자신의 네트워크 카드가 좌측 하단의 Select Networks에 선택이 되었는지 확인하다.
메뉴 하단의 ‘New Capture’를 선택하고 ‘Start’를 선택하면 패킷 캡쳐가 시작이 된다. (‘Stop’이나 ‘Pause’를 클릭하면 캡쳐가 중단됨) 수 많은 패킷이 세션별로 자동 분류된다는 것이 Network Monitor의 큰 장점이다.
아이폰으로 메시지 등을 보내면서 패킷을 관찰한다. 아래 그림은 Whatsapp으로 보낸 메시지의 평문이 패킷에 그대로 노출되는 것을 확인한 모습니다.
패킷이 너무 많아서 보기 어려울 경우에는 Display Filter 창에 필터링 표현식을 적어준 후에 Apply 버튼을 눌러주면 된다. 왼쪽의 Network Conversations에서는 All Traffic을 선택해야 전체 패킷을 대상으로 적용된다. 아이폰 주소가 들어가는 패킷에 대해서만 보고 싶은 경우에는 다음과 같은 표현식을 사용할 수 있다.
ipv4.Address == 192.168.10.20
이제 여러 가지 앱을 사용하면서 중요한 메시지가 그대로 노출이 되는 경우는 없는지 직접 확인하면 된다.
금융사들이 DB 암호화를 했지만 외산 데이터베이스관리솔루션(DBMS)의 무료 모듈을 적용한 초보적인 수준이어서 해킹 시 무방비로 당할 수 있다는 전자신문 지적에 따른 조치다. 본지 4월 12일자 1면 참조 12일 관계기관에 따르면 금융감독원은 개인정보보호법 주무부처인 행정안전부, 보안업계 등과 협의해 금융사의 DB 암호화 적용 기준을 상향 조정하는 방안을 추진하기로 했다. 금감원 관계자는 “지금까지 DB 암호화에 대한 강제조항이 있었던 것은 아니다. 다만 비밀번호는 너무 중요해 전자금융거래법을 통해 의무화했다”며 “DB 암호화 여부의 문제성을 인식하고 있다”고 밝혀 기준 상향 의사를 내비쳤다. 행안부도 이와 관련, 오는 9월 발효될 개인정보보호법 시행령과 세부지침에 DB암호화 기준을 세부적으로 만들기로 했다. | ||
김상광 행안부 개인정보보호과 법제팀장은 “그동안 DB 암호화에 대한 규정이 전자금융거래법, 정보통신망법 등 다양한 법에 명시됐으나 세분화돼 규정되지 않은데다 공통된 지침이 없어 금융권의 혼란이 가중된 측면도 있다”며 “이번 기회에 관계당국과 협의해 DB 암호화 범위와 깊이 등을 일목요연하게 정리할 계획”이라고 말했다. 이에 따라 감독 당국의 DB 암호화 범위와 기준이 쟁점으로 떠오를 전망이다. 현재 금융사가 가진 모든 정보(키값)를 암호화했을 경우 처리 속도가 크게 느려지는 문제가 나타날 수 있기 때문이다. 일부 데이터만을 중요 정보로 암호화해야지 그렇지 않을 경우 고객 이용 편의성이 크게 떨어진다는 설명이다. 모 시중은행 보안 담당자는 “현재는 비밀번호만을 암호화하고 있는데 과연 주요 정보를 어디까지 볼 것인지가 관건”이라며 “자칫 암호화 수준이 너무 높을 경우 병목현상이 발생해 속도가 크게 느려질 수 있다”고 토로했다. 이 관계자는 “한 바이트가 늘어날수록 속도는 느려진다. 하루 10명 고객이 이용하는 곳과 수만명이 이용하는 곳은 확연히 차이가 나타난다”면서 범위에 신중을 기해야 한다고 강조했다. 선물거래 등에서 0.1~0.2초 빠른 것이 회사 경쟁력으로 평가되는 증권사에서는 DB 암호화가 더 민감하다. 모 증권사 IT기획부장은 “공정성만 지켜진다면 속도가 느려진다 해도 모든 데이터의 암호화를 받아들일 수 있다”며 “일부 회사가 제대로 적용하지 않을 경우 형평성에 문제가 될 수 있다”고 명확한 기준 설정과 함께 철저한 감독 필요성을 역설했다. 현재 금감원 측은 민간업체와의 협의를 통해 범위 등을 정할 계획인 가운데 금융업종에 따라 적용 범위와 기준을 달리하는 방향을 유력하게 보고 있다. 금감원 관계자는 “금융권별로 보안성·효율성·실효성 등을 모두 따져봐야 한다. 또 금융회사 입장뿐만 아니라 소비자의 의견도 감안해 결정해야 한다”고 설명했다. 김준배·장윤정기자 joon@etnews.co.k |
현대캐피탈 해킹사태는 회사의 고객정보에 대한 ‘데이터베이스(DB) 암호화’ 조치가 이뤄지지 않아 발생한 것으로 파악됐다. 현대캐피탈 측은 암호화 작업에 철저를 기했다고 밝히고 있으나, 전자신문 취재 결과 이 회사는 지난 2009년 DB암호화 작업을 진행하다 중단한 것으로 확인됐다. 10일 관련 업계에 따르면 현대캐피탈은 고객정보 DB를 암호화해 해킹 후에도 고객 정보 해독을 차단하는 ‘DB 암호화’ 솔루션을 도입하지 않은 상태인 것으로 파악됐다. 업계에선 DB암호화 장치만 제대로 돼 있었다면, 막을 수 있었던 ‘보안 불감증’ 사고로 지적했다. 현대캐피탈은 지난 2009년 초 보안업체를 통해 DB 암호화 도입을 진행하던 중 투자비 등을 이유로 중단했다. 보안업체 한 관계자는 “DB암호화 도입을 진행하다가 녹록지 않은 투자와 시스템 교체 그리고 성능 저하 등을 이유로 들면서 현대캐피탈이 몇 개월 후 DB암호화 계획 자체를 무효화했다”고 전했다. |
이같은 보안 시스템 부재로 현대캐피탈은 고객정보 해킹 사실을 뒤늦게 확인한 것으로 추정된다. 현대캐피탈은 지난 7일 해커가 보낸 협박 이메일을 받고 나서야 지난 2월 해킹이 시작된 것으로 분석했다. 현대캐피탈 고위 관계자는 “금융감독원 기준을 지키기 위해 최선을 다했다. 고객 중요 정보에 대한 암호화 작업도 철저하게 진행했다”고 설명했다. 하지만 대용량 고객DB를 제대로 암호화 하는데 있어선 부족하다는 보안전문가들의 지적이다. 이에대해 보안 업계에서는 현대캐피탈 이외에도 국내 금융권 상당수 기업들이 고객정보 DB암호화 작업을 하지 않은 것으로 보고 있다. 보안 업계 한 관계자는 “현재 시스템 성능 저하 등을 이유로 고객 주민번호, 이메일, 아이디·패스워드 등이 저장된 DB를 암호화하는 솔루션을 적용한 금융기관은 거의 전무한 상태”라며 “제 1금융권은 물론 일부 보험 등 제 2금융권 몇몇 업체를 제외하고 DB보안을 적용한 금융기관이 없다”고 말했다. 현대캐피탈은 이날 기자회견에서 일부 고객의 신용등급·비밀번호 등 신용정보가 해킹당했다고 추가 공개했다. 고객 1만3000여명의 프라임론 패스번호 등이 해킹된 것으로 알려졌다. 또한 사건을 수사 중인 서울지방경찰청 사이버범죄수사대는 회사 자료를 분석한 결과, 해커가 필리핀과 브라질 서버를 통해 회사 서버에 침투한 흔적을 찾아냈다. 정태영 사장은 이 자리에서 “개인적으로 죄송스럽고 수치스럽다. 우리 회사는 이런 일이 없을 것이라며 철저를 기한다고 생각했다”면서 “앞으로 파장 확대를 막기 위해 최선의 노력을 다하겠다”고 말했다. 김준배·장윤정기자 joon@etnews.co.kr |