Tech/Etc

시큐어코딩

glqdlt 2016. 1. 13. 14:07

시큐어코딩 참관하게 되어 보고서에 썼던 내용을 정리해 블로깅해본다.



1. 시큐어코딩의 필요성에 대해 설명


2.


자산(Asset):


위협(Treat):


취약성(Vulnerabilty):


위험(risk):


3. 보안 취약점 정보 활용


CWE(Common Weakness Enumeration)


SANS(SysAdmin, Audit, Network, Security) TOP 25


CVE(Common Vlunerabilities and Exposures)


CERT(Computer Emergent Response Team) Java Secure Coding Standard


OWASP(Open Web Application Security Policy) TOP 10


안행부 시큐어코딩 가이드



4. 웹 어플리케이션 보안을 위한 기본 지식


1) HTTP 패킷 변조

: 프록시 툴을 활용해 전송되는 파라미터 value를 변조


2) 인코딩 변조

: 특수기호들을 BASE64 인코딩을 통해 우회


3) 정규식

: 특수기호들을 차단 하기 위한 정규식 활용


4) SQL 인젝션

:statement 개체 와 같은 정적쿼리의 경우 발생할 수 있는 인젝션 위험

ex) SQL 태그 필터링 또는 PrepareStatement 와 같은 동적쿼리 처리, mybatis 와 같은 sql 라이브러리 활용.

단, 동적 쿼리는 정적 쿼리에 비해 다루기 까다롭게 내부 처리과정이 복잡해서 속도면에서 statement가 이득을 볼 수 있는 상황이 있음. Case by case 로 수행


5. 인증과 세션


1) 로그인 시도 횟수 제한

ex) john the ripper 와 같은 블랙DB 를 가진 자동화적인 아이디/패스워드 크랙 공격을 막고자 함


6. XSS (크로스 서버 스크립트)

자바스크립트를 통한 악의적인 파밍 사이트 redirect 및 인증 탈취 및 exploit 공격의 악용 위험성 처리


7. CSRF 


8. 파일 업로드/다운로드 (웹쉘 공격) 취약점


의도치 않은 파일 업로드 및 (웹쉘 = .jsp .php 등) 접근 제한인 다운로드의 접근을 막아야함


9. 취약한 암호화 알고리즘 사용


취약한 암호화 알고리즘 사용 (AES 및 sha-1, MD5 해쉬 등)


10. 잘못된 접근


숨겨진 페이지나, 관리자 페이지 접근은 무조건 Hidden 처리 혹은 인증 절차를 거쳐야함.


'Tech > Etc' 카테고리의 다른 글

RestAPI dev tool, Advanced rest client  (0) 2017.03.26