2014/10/08

외환카드 2x 알파/베타 카드 부가서비스 변경(15년 2월1일부터)

[외환카드] 2X알파/베타 카드 부가서비스 변경 안내

기존 제공 부가서비스 관련 글
http://carly-1000.blogspot.kr/2014/10/2x-15-21.html?m=1


항상 저희 외환카드를 이용해 주시는 고객님께 깊은 감사를 드립니다.
시장 환경의 변화에 따른 카드상품 수익성 악화로 인해 외환2X알파/베타카드의 부가서비스가 2015년 2월 1일부터 변경되오니 이용에 참고하여 주시기 바랍니다.

▣ 대상상품 : 2X 알파/베타카드
▣ 변경 내용
1. 월간 할인한도 변경
전월실적 25만원이상 1만5천원할인→1만원할인으로 변경
전월실적 50만원이상 3만원할인→2만원할인으로 변경
전월실적 100만원이상 6만원할인→4만원할인으로 변경

2. 전월실적 산정 기준 변경
- 변경전 : 매월 1일~말일까지 해당 카드로 할인 받은 매출 전체를 제외한 신용판매 금액
- 변경후 : 매월 1일~말일까지 Gift카드 구매금액, 선불카드 충전금액, 해당 카드로 할인 받은 매출 전체를 제외한 신용판매 금액

3. 포인트 적립 서비스 중단

4. CGV콤보세트 무료제공 서비스 중단(2X알파카드만 대상)

▣ 적용일자: 2015년 2월 1일

※ 기타 자세한 사항은 외환카드 고객센터(1588-3200) 또는 홈페이지(www.yescard.com) 뉴스/공지를 참고하시기 바랍니다.
※  카드신청 전 카드상품 안내장 및 약관의 내용을 반드시 읽어 보시기 바랍니다.
※  카드결제 대금을 결제일자에 미납하는 경우 연 23.0%~29.0%의 연체료가 부과됩니다.
※  신용카드 남용은 가계경제에 위협이 됩니다.
※  준법감시인 심의필 번호: 제2014-광고-0672(2014.07.15)
[수신거부] 080-888-8881

2014/07/31

Memo

며칠전 예전에 쓰던 다이어리를 펼쳤다가 문구들이 이렇게 저렇게 적혀있는 것을 보았다.
아마 언젠가 본 책 속에 있는 말들을 메모한 것이겠지.
대부분은 지금 현재까지도 나름 마음 속에 담아 두면 좋겠다는 생각이 들기에, 블로그에도 함께 글을 남긴다.


pessimism of the spirit; optimisim of the will (Antonio Gramsci)

Your time is limited, so don't waste it living someone else's life. (Steve Jobs)

성공은 계속된 실패에도 열정을 잃지 않는 능력이다. (윈스턴 처칠)

창조성은 이상하기 짝이 없는 조합에서 나타난다. 차이를 극대화 하는 최상의 방법은 다양한 연령층과 문화, 전문분야를 뒤섞는 것이다. (니콜라스 네그로 포테)

憂方知酒聖, 貧始覺錢神 (白居易, [白氏文集] <江南謫居十韻> 中)
마음이 우울할때 술이 귀한줄 알고, 가난해 져야 돈이 곧 신이라는 것을 깨닫는다. (백거이)

인간은 오직 사고의 산물일 뿐이다. 생각하는 대로 되는 법 (간디)

形兵之極 至於無形. 兵形象水
최고 경지의 전법은 형태가 없다. 전술이란 물과 같다. (손자병법)

능력이 부족할 수록 자만심이 더 강하다. (아하드 하암)

당신은 존재하는 것들을 보고 "왜?"라고 묻지만, 나는 결코 없었던 것을 꿈꾸며 "안될게 뭐야?" 라고 묻는다. (조지 버나드쇼)

어떤 일을 해 놓지도 않고 비웃기만 하는 사람보다, 아주 하찮은 일일지라도 하는 사람이 보다 더 훌륭한 인격자라고 할 수 있다. (괴테)

愚者暗于成事,智者见于未萌
어리석은 자는 이미 일어난 일도 깜깜하지만, 지혜로운 자는 아직 일어나지도 않은 미래도 내다 본다. (중국 명언)

세계 최고의 칼잡이는 세계에서 두번째로 뛰어난 칼잡이를 두려워하지 않는다. 그가 두려워하는 사람은 한번도 칼을 잡아 본 적이 없는 무지한 적이다. 이 적은 예상대로 움직이지 않기 때문에 아무리 전문가라도 그의 공격에 대비할 수 없다. 예상치 못한 허를 찔러 전문가를 쓰러트린다. (마크 트와인)


아름다운 시스템은 단순하다.

최고중에 최고는 의미가 없다. 자기 분야에서 유일한 존재가 되어야 한다.

1. 시키는 대로 무조건 일하지 않는다.
2. 힘없는 말단이야 말로 가장 강력한 사람이다.
3. 모든 작은 프로젝트에는 기업 전체의 DNA가 포함되어 있다.

명료하고 간단하게, 장점을 부각시킬 것. 입장을 분명히, 당신의 (흥미 진진한) 이야기를 해 주고 입을 다물라.(설득을 위해)

신선한 아이디어. 행동력(모험심). 뛰어난 유머감각. 첨단 기술을 즐겨라. 젊은이와 친하게. 열정.

Finding a Freaky Friend Faraway.





2014/06/19

대한민국 보안 사고 관련 history 요약 정리

요즘 시간이 남는 관계로 그동안 있었던 보안 사고에 대한 요약 정리를 한번 해 보았다.
뭐 상세한 내용들은 해당 키워드로 인터넷을 검색하면 자세히 나와 있고,
나는 어떤 일이 있었고 그게 대략 무슨 일이었는지만 remind 할 수 있는 수준의 메모를 남김.


1. 1.25 인터넷 대란 (2003년 1월)
- PC 웜 바이러스를 이용한 인터넷 대란
SQL 서버의 슬래머 웜이 번져 DNS 서버를 공격하는 방식.
DNS 서버 불통으로 인해 전 국민이 인터넷 대란을 겪었음.
>> 보안패치의 중요성이 대두!

2. 엔씨소프트 리니지2 인증정보 유출(2005년 5월)
- 직원의 실수로 인한 정보 유출
개발자의 실수로 인해 사용자가 입력한 id/pw가 평문으로 PC에 로깅되도록 한 문제.
특히 사용자가 해당 기간 동안 PC방에서 게임 접속을 한 경우에 대한 피해가 있을 수 있었음. (접속한 id/pw가 남으므로)
바로 홈페이지에 사과문을 게재하고, 이후 피해자에게 10만원씩 배상함.
>> 라이브 업데이트 전 검수 중요성!


3. 국민은행 개인정보 유출 사건(2006년 3월)
- 직원의 실수로 인한 정보 유출
복권 서비스 이용계약을 체결한 가입 회원 32,377명에게 성명, 주민등록번호, 이메일 주소 등이 수록된 텍스트 파일을 이메일 첨부파일로 전송. 전송 도중 중단하였으나 이미 3,723명에게 발송이 되어 버렸음.


4. 옥션 개인정보 유출 사건 (2008년 1월)
 -외부 해커가 내부 직원을 대상으로 한 해킹 공격을 통해 고객정보 탈취
중국 해커의 소행으로 밝혀졌음.
CSRF 공격을 이용해 옥션 내부 직원의 권한을 획득하여 벌인 해킹.
2010년에 일당을 검거. (2010년에 이 일당이 신세계 몰에도 동일 해킹을 했음이 밝혀짐)
>> CSRF 공격에 대한 화두!


5. GS칼텍스 개인정보 유출 사건(2008년 7월)
-내부 직원에 의한 고객정보 유출 사건
내부 직원이 고객 정보가 들어있는 DB에 접속해 데이터를 탈취해 CD/DVD로 들고 나감.
이후 공범 중 한명이 개인정보 유출에 대한 소송에 이용하자며 변호사 사무실에 찾아갔더니, 유출 사고가 먼저 있어야 한다고 하여 쓰레기더미에서 CD를 발견하였다고 언론 플레이.
>> 외부 해킹 뿐 아니라 내부 직원에 의한 고객 정보 유출 위험성 대두!


6. 7.7 DDoS (2009년 7월)
- 대한민국, 미국의 주요 정부 기관, 포털, 은행 사이트에 대한 DDoS 공격
HTTP의 Get flooding, UDP flooding, ICMP flooding  공격을 혼합하여 수행.
웹 서버의 연결자원 고갈 및 NW 대역폭 고갈을 함께 수행하였음.
특징 : cache-control 필드에 no-store 설정
그동안은 네트워크 대역폭 고갈에 주로 DDoS 공격이 수행되었으나, L7(웹 어플리케이션의 자원 고갈)레벨의 공격을 처음 시도하여 방어에 시간이 걸렸음.
공격에 이용한 좀비PC들의 경우 MBR 파괴 증상이 있었음.
명령채널서버 없이 특정 시간에 자동으로 수행되도록 함.
국정원에서 북한의 소행이라 발표
>> L7에서의 DDoS 공격에 대한 대응 방법!


7. 3.2 DDoS (2011년 3월)
- 대한민국 주요 정부기관, 포털, 은행사이트에 대한 DDoS 공격
HTTP의 Get flooding, UDP flooding, ICMP flooding  공격을 혼합하여 수행.
웹 서버의 연결자원 고갈 및 NW 대역폭 고갈을 함께 수행하였음.
특징 : cache-control 필드에 no-store 설정 외로도 proxy-connection:keep-alive 등
공격 패킷에 위와 같은 특정 signature가 있고, 7.7 DDoS 공격 대응 경험이 있어 큰 피해 없이 차단함.
7.7 DDoS 공격때오는 달리 비동기식이지만 명령채널서버를 이용함.
(역시 북한의 소행이라고 국정원에서 발표)


8. 현대캐피털 고객정보 유출 (2011년 4월 8일)
- 퇴사자 직원의 ID/PW를 이용해 고객정보 해킹, 유출
- 175만건의 개인정보 유출, 노트북 컴퓨터로 무선 인터넷을 통해 회사 서버에 접속한 뒤 해킹프로그램 웹쉘을 설치해 개인정보를 빼내감


9. 농협 전산망 마비(2011년 4월 12일)
- 외주업체 직원 노트북을 통해 대다수 서버 파괴 명령어 날림
외주업체 직원의 IBM 노트북에 2010년 9월경 웹하드 프로그램을 이용해 영화 다운로드를 받다 악성코드에 감염되었음
이후 관리자 패스워드 등 전산망 정보를 수집하고 도청 프로그램을 설치함
4월 12일 오전에 공격 명령어 다운로드를 완료하고 오후 4시 50분경 동시다발적으로 서버에 삭제 명령어를 날림 (서버의 절반이 파괴됨)
악성코드의 이름, 공격 패턴 등이 7.7 DDoS, 3.4DDoS때와 유사하다고 알려져 있음.
(역시 북한의 소행이라고 국정원에서 발표)
>> 금융권의 보안 중요성, 충분한 예산, 인력 등의 배분 필요성.


10. SK컴즈 고객정보 유출 해킹 (2011년 7월 26일)
- 중국발 해킹, 이스트소프트의 업데이트 서버 해킹을 통해 해당 프로그램을 설치하였던 컴즈 내부 직원의 PC를 해킹하여 고객정보를 해킹함
- 내부정보 수집 및 DB 관리자 권한 획득, DB에서 네이트/싸이월드의 고객 회원정보 3500만건 탈취.


11. 넥슨 메이플스토리 개인정보 유출(2011년 11월)
- 백업 서버에 악성코드를 통한 외부 해킹 공격으로 고객정보가 유출됨
- 가입자 1320만명의 개인정보 유출됨


12. EBS 홈페이지 회원 개인정보 유출(2012년 5월)
- 중국발 IP로부터 해킹, 악성코드 침투
- 회원 422만 5681명의 개인정보가 유출됨


13. KT 고객정보 해킹 (2012년 7월)
- 내부 직원이 한건씩 개인정보를 조회하는 방식으로 프로그램 개발 방식으로 개인정보 유출
-  해당 IT 정보통신 업체에서 10년간 프로그램을 개발한 베테랑 프로그래머의 소행이었음.
- 가입자 유치를 위한 TM(텔레 마케팅)에 이용함
>> 동시에 대량 유출이 아닌 한건씩의 유출 시 어떻게 탐지하나?


14. 삼성 갤럭시S2 루팅 취약점 공개 (2012년 12월)
- 삼성 개발자의 실수로 Exynos4 AP Device의 권한을 잘못 설정해 공격자가 커널 영역에 메모리를 할당받고, setreuid 함수를 패치하는 방식으로 root 권한 획득
# ls -al /dev/exynos-mem
crw-rw-rw   1   system  graphics   ~~~~~~   /dev/exynos-mem
- 엑시노스란? 카메라, 그래픽 메모리 할당, HDMI의 사용을 위한 디바이스.
- 취약점에 대한 exploit 코드가 공개되었고, 삼성측에서는 이후 패치를 공개하였음.


15. 3.20 전산망 마비(2013년 3월)
- 대한민국 주요 언론사, 금융사의 PC를 해킹, 서버 파괴
- 특정 업체의 PMS 서버, 내부 인프라웨어 등을 이용하여 악성코드를 유포하였음.
- MBR 파괴 등으로 임직원 PC를 파괴.
- 기존 7.7DDoS, 3.4 DDoS와 비슷한 패턴의 악성코드, 좀비 PC 인프라 이용.
(역시 북한의 소행이라고 국정원에서 발표)


16. 6.25 DDoS 공격(2013년 6월)
- 대한민국 정부 기관, 언론사, 웹사이트 해킹(사이트 위변조) 및 DDoS 공격 병행
- 청와대 홈페이지 해킹을 통한 웹 사이트 위변조 등.
- DDoS 공격 수행시 기존과는 달리 cache 기반 DNS 특징을 이용하여 없는 도메인에 대한 쿼리문을 던지는 방식의 DDoS 공격.
- 웹하드 업체의 설치 프로그램 변조를 통해 악성코드를 유포함
(역시 북한의 소행이라고 국정원에서 발표)


17. 금융사 고객정보 유출 사건(2013년 12월)
- 시티은행, SC제일은행에서 외주직원이 USB를 통해 고객정보를 유출
>> DLP 등을 이용한 고객정보 유출 모니터링/차단 필요성 대두


18. 카드사 대규모 개인정보 유출 사건(2014년 1월)
- KCB 신용평가사 직원이 카드사에 파견나가 고객 개인정보를 USB에 담아 유출
- 국민카드, 롯데카드, 농협카드 등에서 고객정보가 유출됨
- 대출 모집인 등에 판매되었음
- 개인정보 유출 규모가 역대 최다인 1억 400만여건임.
>> 외주 개발자의 보안 관리에 대한 필요성


19. KT 고객정보 해킹 2차(2014년 3월)
- 웹 사이트 취약점을 이용한 brute-force 방식을 이용한 개인정보 해킹 방식
- 파로스 프록시 프로그램을 이용하여 '이용대금 조회 사이트'에 고객번호를 무작위 대입하는 방식으로 고객정보를 유출


20. 뱅킹 앱 악성코드의 진화, 피싱 --> 파밍--> 큐싱 (2013년~2014년)
- 인터넷뱅킹의 악성코드가 초반의 피싱 웹 사이트로의 접속을 노렸던 것에서, 파밍으로 진화하고, 이후 스마트폰의 QR코드까지 이용하는 큐싱으로 발전.
- 큐싱은 100만원 이상 이체시 이용해야 하는 2채널 인증의 서비스로 QR코드를 이용하는 방식을 악용해  피해자가 파밍 사이트에서 제공하는 QR코드를 자신의 스마트폰에서 인식하도록 하여 악성 앱 설치까지 되도록 하는 방식.


추가적으로 기억나는 보안 사건 사고 이슈가 있으면, 이 포스팅에 추가 업데이트 예정.

2014/06/18

Smartphone app 개발시 보안 checklist

요즘 시간적인 여유가 생기면서, 기존에 머리속으로 해 왔던 일들을 일부 정리하는 시간을 가지고 있는데,
그 중 하나로 스마트폰 앱 개발 시 보안성심의 체크리스트를 작성해 보았다.

스마트폰 앱 개발 시 체크해야 하는 체크리스트들은 사실, 그 앱이 어떤 앱이냐에 따라 많이 달라질 수 밖에 없다.
금융권 앱의 경우는 금융감독규정을 비롯한 여러가지 법률과 규정, 가이드라인 준수 여부를 추가로 cross check해야 할 뿐 아니라, 당장 사용자들의 돈 거래가 달려있기 때문에 사용자가 좀 더 불편하더라도 보안 적용을 감내하도록 만들곤 한다.
하지만 반대로 게임 앱의 경우는 입력값 위변조(메모리 해킹)나 앱의 위변조로 인한 게임 데이터 조작(치팅 등)이 큰 문제가 되지만, 만약 스마트폰 기기에서 사용자가 불편함 없이 그 앱을 실행시킬 수 없으면 당장 고객을 잃기 때문에 앱의 퍼포먼스도 많이 중요하다.
또한, 일부의 보안이 중요하지 않은 편의성 앱이나 사용자의 조작이 어려운 static한 앱들의 경우는 보안의 수준을 높여서 불편하게 만들 필요가 없을 것이다.

또한 스마트폰 앱의 검증은, 또한 기존의 native app의 경우와... 웹앱, 그리고 그 중간인 하이브리드 앱의 경우도 점검해야 하는 항목이 달라질 수 있다.
따라서 아래 내가 임의로 작성한 체크리스트의 경우는 전체 내용을 다 포괄할 수는 없겠지만, 최소한 앱의 점검을 위해서 고려해야 하는 항목들이 무엇이 있을지 고려하여 작성해 보았다.

다만, 앱스토어에서의 앱의 점검과 같이, 해당 앱 내에 악성기능을 숨겨놓았는지에 대한 확인 여부는 고려하지 않았고...
일반 기업에서, 신뢰할만한 개발자가 개발한 스마트폰 앱의 보안성 심의를 할 때 필요한 사항들에 대해 적어 보았다.

해킹 기술이 발전하여 관련 해킹 방법이나 툴들이 증가되게 되면, 추가적으로 체크해야 하는 항목들이 늘어날 수는 있겠지만,
기본적으로 필요하다고 생각되는 보안성 심의 점검 내용을 리스트업 해 보자.

1. 서비스 기획 점검

1) 해당 신규 서비스의 내용에 법률, 규정, 사회적 영향도에 문제가 없는가?

- 만약 문제가 될 소지가 있는 경우 관련 법률, 규정 검토 및 비슷한 사례 연구
- 특히 사용자 신규 가입 등의 개인정보 취급 시 개인정보보호법을 고려해야 하며, 정통망법, 신용정보법, 금융감독규정을 비롯 해당 서비스에서 취급하는 서비스에 따라 다양한 법률 및 규정, 가이드라인에 대해 문제가 없는지 모두(!!) 체크해야 하고, 법률에 내용이 상이할 경우 어떤 것을 우선시로 적용받는지 역시 확인해야 한다.
-클라우드컴퓨팅이 적용된 서비스의 경우, 인프라 관리자와 서비스 관리자가 상이할 경우 처럼 다양한 환경에서의 장애, 해킹, 정보 유출에 대한 법적 책임을 포함한 Risk 관리 등에 대해서도 사전에 고려 되어야 한다.

2) 해당 신규 서비스의 인프라가 기존에 있는 인프라를 이용하는 경우, 보안상 문제가 없는가?
- 물리적으로 같은 서버나 네트워크를 이용하는 경우, 가능한 비슷한 보안 수준인지 확인.
(취약한 서비스와 같은 서버에서 돌리는 경우, 이 서비스와 상관없이 취약 서비스로 인한 피해가 있을 수 있음)

3) 해당 서비스에서 사용하고 있는 기술에 보안 상 문제가 없는가?
 - 새로 개발된 신규 기술을 도입하는 경우, 해당 기술에 대한 취약점 여부 확인.

4) 서비스 가입, 로그인, 로그아웃, 비밀번호 변경, 탈퇴 등의 일련의 과정에 대해 문제가 없는가?
 - 사용자의 인증이 중요한 서비스의 경우는 해당 인증/인가시 충분한 보안을 고려하였고, 타인에 의해 도용될 소지가 없는지 확인해야 함.

5) 중요 서비스의 경우, 단말을 지정하여 이용하도록 하거나, 단말 분실 등의 문제가 생겼을 경우 고객센터를 통해 바로 서비스 중지가 될 수 있도록 하였는가?

6) 사용자 가입 전, 이용 고객에게 보안 유의사항에 대한 안내를 하였는가?

7) 모바일과 PC에서 동시에 사용 가능한 서비스인 경우, PC에서의 보안 수준 만큼 모바일에서도 준용하였는가? (비밀번호 등의 인증 강도 포함)

8) 내부적인 서비스에 대한 정책, 지침, 대응 절차, 약관 등에 대한 검토 및 담당자 확인.

9) 서비스 오픈 전 취약점 진단을 통한 취약점 수정 여부.

10) 보안사고 발생 시 사고 대응 절차 점검.

11) 피싱 공격에 대비해 온라인이나 마켓에서 주기적으로 점검하는지 여부.

12) 민감한 앱의 경우 배포 방법에 대한 고민 (앱스토어, 내부 사이트)
 -  제한된 사용자에 대해 서비스 되는 앱의 경우 어떤 방법이 더 안전한가?

13) 어플리케이션 취약점, 버그 발견 시 자동 업데이트 가능 여부


2. 기본 단말 영역 보안

1) 운영체제 위변조(루팅, 탈옥) 여부 확인


2) 키 로깅 여부 확인 (키보드 보안 무력화)

3) 안티바이러스 무력화, 또는 최신 패치 적용 여부 확인

4) 이 프로그램 실행 도중 다른 프로그램의 임의 실행/중지 여부 확인

5) 중요 정보(인증 정보, 금융정보, 개인 정보 등) 단말 내 저장 여부 확인

6) 중요 서비스인 경우 단말 내의 기본 보안 설정 적용 여부
 - 예. 스마트 오피스 앱의 경우 MDM 적용, 기본 단말 화면 잠금, 백신 설치 등.
 - 중요 서비스의 경우 화면캡쳐 및 화면 출력, 프로그램 통제, 문서보안 적용 여부.

7) 정해진 단말에서만 접근 가능해야 하는 서비스 인지 여부.
 - 단말의 고유 값을 이용해 미리 선 지정한 폰에서만 접근 가능해야 하는 서비스.



3. 클라이언트(앱) 서비스 보안

1) 서버에 임의의 조작된 명령어 실행 여부 

- 스니핑 등으로 패킷 확인 후 HTTP Proxy 등을 이용하여

2) SQL injection 
 - 서버, 클라이언트 모두 DB 사용 시

3) 프로그램 무결성 확인, 메모리 해킹 확인
 - 소스 코드 내 중요 정보 제거, 무결성 확인을 통한 변조된 어플리케이션 실행 방지,
  난독화 적용, 디버깅 탐지 등의 역공학 기술 적용 여부

4) 중요 데이터 전송 시 인증 여부
 - 파라미터 값 변조, 캐쉬 파일 변조, 바이너리 변조 등으로 타인의 정보 확인 가능 여부
 - 중요 데이터에 대해서는 비밀번호를 추가로 서버에서 확인 (비밀번호 위변조 여부)
 - 중요 비밀번호 전송 시 비밀번호의 복잡도 설정

5) 인증 세션 미비
 - 스니핑, 메모리 덤프 등으로 획득한 정보의 재사용 가능 여부
 - 인증정보의 노출 및 위변조 여부
 - 만료된 인증 세션에 대해 서버에서 체크. (세션 종료 처리 시간)
 - 다중 로그인 정책 여부
 - 중요 정보에 접근 시, 추가적인 인증을 수행하는지 여부
 - 일정회수 이상 비밀번호 오류 시 접근 통제 적용 여부
 - 일정 기간 입력이 없을 시 자동 잠금/로그오프 적용 여부

6) 디컴파일을 통한 프로그램 분석 (프로가드 등으로 난독화 여부)

7) 개발 단계에서 적용한  출력정보에 대한 제거 미비 여부
 - 디버깅 코드, 디버깅 로그 등 확인

8) 개인정보(중요 정보) 표시 제한 여부
 - 중요한 개인정보/중요정보의 경우 일부 * 등으로 마스킹 처리
 - 전체 공개 금지 등을 통해 열람 범위 최소화 적용

9) 메모리 덤프를 통한 중요 정보 노출 여부
 - 패스워드 등을 포함 일부 원하는 중요 데이터가 쉽게 평문으로 노출되는지 여부.

10) 암호화 강도 확인
- 중요 데이터의 경우 E2E 암호화를 적용하는데, 이때 안전한 암호 알고리즘, 안전한 키 길이, 안전한 키 주기를 사용하고 있는지. 암호화 정보를 통해 전송 중 위변조, 오류 체크.

11) 중요한 입력 정보에 대해 유출되거나 변조되지 않도록 보호
 - (특히 금융서비스) 가상 키보드, 키보드 후킹 방지 등

12) 중요 거래 시 부인방지 기능 적용

13) 중요한 정보 저장 시 관리 방안
 - 예) 공인인증서 파일의 경우 이동, 비번 변경 등에 대한 정책.

14) 중요한 정보 입력 시, 서버에서 확인 여부
- 예) 금융 데이터 전송 시 거래 데이터와 전자서명데이터 여부로 무결성 검증.

15) 테스트 데이터, 로깅, 파일 등의 존재 여부



4. 서버 서비스 보안

1) 서비스에 대한 비정상 행위에 대한 auditing 적용 여부(로깅)
 - 비정상 접속 종료, 강제 세션 종료, 비정상적인 접속 시도, 공격 시도 등.

2) 서비스 개시 전, 서버에 대한 보안 점검 여부

3) 서버 접근 시 담당 업무, 직급에 따른 접근 권한 부여 여부

4) 로깅에 대한 위변조 방지 조치, 작업내역에 대한 감사 여부

5) 타 서비스들과 동일 수준의 서버 보안 적용 여부, 취약점 진단 여부.

6) 클라이언트, 혹은 타 서버와의 통신에 사용되는 암호화 키 보관, 암호 알고리즘의 적정성 여부

7) 서버 폐기 시 정보 유출 방지를 위한 조치 여부

8) 서버가 위치한 장소에 대한 보안 대책 마련
  - 물리적 보안 적용 여부, 자연적 재해에 대비한 연속성 계획(장애 대응 프로세스)
  - 백업 시스템 적용 여부, 주기적인 검증 여부

9) DMZ 존에 서버가 있는 경우, 개인정보등이 포함된 중요 데이터를 로깅을 하는지 여부
  - 개인정보보호법에 의거, 개인정보가 포함된 평문 데이터 저장 금지.

10) 비밀번호는 hash로 조회되지만 복호화 할 수 없도록.

11) 인증이 중요한 스마트 오피스 등의 서비스인 경우, 퇴사자 등 임직원 정보에 대해 실시간 관리하는지 여부.

12) 서비스 접속 사용자에 대한 행위 로깅 (주기적 감사)

13) 서비스 관리를 위한 접속 사용자에 대한 행위 로깅 (주기적 감사)

14) 테스트 데이터,로깅 정보 및 디폴트 세팅 등에 대한 존재 여부

15) 오류/에러/예외 처리



5. 인프라 및 네트워크 보안

1) WIFI 등 공개(스니핑 가능한)된 곳에서 사용시 문제 될만한 패킷이 없는지

 - 중요 데이터들의 경우 암호화 적용, 안전하지 않은 WIFI 사용 금지 정책 적용 등 다양한 고려.

2) 서비스 인프라 구성이 보안상 적합한지 
 - 특히 내부 서버, 혹은 외부의 서버와의 연동이 있는 경우 연동 방법이나 연동 접점에 문제가 없는지 확인.

3) 서비스 구성에 따른 보안 적용이 적절한지 (보안 장비 적용 등)

4) 네트워크에 대한 침입탐지, 패턴 등에 대해 주기적 모니터링 및 최신 패턴 적용 여부

5) 정보보호 솔루션들에 대한 로그 기록 보관 및 유출 여부 확인

6) 특정 네트워크 대역에서만 접근해야 하는 서비스인지.
  - 기업 내부에서만 접근 가능한 서비스 기획 시 관련 정책 확인.

7) 장애 시 가용성 확보 방안(이중화)



일단 생각 나는 것들을 적어 보았는데,
실제 하이브리드 앱이나 웹앱의 경우는 웹 서버의 보안 점검 체크리스트가 추가되어야 하며,
요즘 스마트폰용 앱들의 경우도 PC에서 진행되는 각종 위협 요소들이 거의 그대로 답습되고 있는 만큼 비슷한 점검이 추가로 더 필요하다.



2014/06/17

매일 성공하는 법 (Thriving in 24/7, Sally Helgessen)

매일 성공하는 법 (by 샐리 헬게센)


1. 마음가짐 부터 바꿔라

2. 자신이 어떤 상황에 놓여 있는지 자주 점검하라

3. 민첩성을 유지하라

4. 내면의 목소리를 찾아라

5. 지그재그로 걷는 연습을 하라

6. 쇼에 관해 생각하라.

7. 평생 학습에 대해 생각하라

8. 옛 로열티는 잊어라

9. 낙관적으로 일하라

10. 자신의 일을 창조하라

11. 자신의 가치를 명확히 밝혀라

12. 열정을 가져라

13. 표적 시장을 확인하라

14. 자기 사업을 운영하라

15. 강력한 인맥을 형성하라

16. 지지 세력을 확보하라

17. 남을 우러러 보는 기술을 마스터하라.




소프트웨어 개발 보안 체크리스트

소프트웨어 개발 시 개발자들의 실수로 인해 야기될 수 있는 47가지 취약점들

1. 입력 데이터 검증
 1) SQL injection
 2) cmd injection
 3) XSS
 4) Xpath injection
 5) xQuery injection
 6) LDAP injection
 7) CSRF
 8) 경로 조작
 9) 업로드 파일 확장자 및 형식 체크 미비
 10) 신뢰되지 않는 URL로의 자동접속 연결 (redirection)
 11) HTTP 응답 분할 (응답헤더조작)
 12) 정수형 인자값의 오버플로우 (정수 연산 사용 시 허용범위를 넘는 경우)
 13) 보안 기능(인증,인가, 권한부여 등) 결정에 사용되는 부적절한 인자값
 14) 메모리 버퍼 오버플로우
 15) 포맷 스트링 삽입 (printf 등)

2. 보안 기능 검증
 1) 적절한 인증 없이 중요 정보 열람
 2) 부적절한 인가
 3) 중요한 자원에 대한 잘못된 권한 설정
 4) 취약한 암호화 알고리즘의 사용
 5) 중요 정보 평문 저장(인증정보 등)
 6) 중요 정보 평문 전송 (예. 주민등록번호, 패스워드 등)
 7) 하드코드 된 패스워드
     - 소스코드 노출 시 패스워드 노출 뿐 아니라, 패스워드 변경이 힘들게 되는 문제도 발생함
 8) 하드코드 된 암호화 키
    - 소스코드 노출 시 암호화 키 노출 뿐 아니라, 암호화 키 변경이 힘들게 되는 문제도 발생
 9) 충분하지 않은 키 길이 사용
 10) 적절하지 않은 난수 사용으로 난수 예측가능
 11) 취약한 비밀번호 사용
  - 조금만 돌리면 다 나올 정도의 약한 패스워드 사용
 12) 사용자 하드디스크에 저장되는 파일을 통한 정보 노출 (예, 쿠키 속 인증정보 노출)
 13) 주석문 안에 시스템 주요정보 포함
  - 소스코드 노출하면 중요 시스템들의 정보가 바로 노출
 14) 솔트 없이 일방향 해쉬함수의 사용
 15) 무결성 검사 없는 코드 다운로드
 16) 반복된 인증시도에 대한 제한 기능의 부재

3. 시간 및 상태
 1) 검사 시점과 사용 시점이 다름에 따른 문제
 - 공유 자원(예.파일)에 여러 프로세스가 접근하는 경우 경쟁상태가 되어 동기화 오류, 혹은 교착상태 등이 생길 수 있음.
 2) 종료되지 않는 반복문/재귀문 사용

4. 에러 처리
 1) 오류메시지를 통한 정보 노출
 2) 오류 상황에 대한 대응 부재
 3) 부적절한 예외처리

5. 코드 오류
 1) Null pointer 역참조
 2) 부적절한 자원의 해제
 3) 해제된 자원의 사용 가능
 4) 초기화 되지 않은 변수의 사용

6. 캡슐화
 1) 잘못된 세션에 의한 데이터 정보 노출
 2) 제거되지 않고 남은 디버그 코드
 3) 시스템 데이터 정보 노출
  - 오류메시지나 스텍 정보에 디버깅 정보 등이 공개될 수 있음
 4) private 배열을 public 메소드로 반환할 때 그 배열 레퍼런스가 공개
 5) private 배열에 public 데이터 할당

7. API 오용
 1) DNS lookup에 의존한 보안결정 (DNS lookup은 공격자에 의해 쉽게 위변조)
 2) 취약한 API/함수 사용




..