기본 콘텐츠로 건너뛰기

About

컴퓨터를 좋아하는 보안 엔지니어입니다.
현재 정보보안 컨설팅 회사에서 보안 기술 컨설팅에 종사하고 있습니다.

주로 웹 어플리케이션 진단, 신규 취약점 분석, 인프라 진단을 수행하고 있습니다.
관심 영역은 시큐어 코딩, 리버스 엔지니어링, 암호학이며 앞으로 나아가고자 하는 방향입니다.

분석적으로 사고할 수 있는 일을 좋아해서 깊이있게 집중하여 얻어낸 결과에 성취감을 많이 느끼는 편입니다.

제가 가진 최대의 장점은 성실입니다.
부족한 학습 시간을 보충하기 위해 매일 새벽에 일어나고 있습니다.
기상 후 캡쳐한 휴대폰 시계가 성실함을 나타내는 하나의 예가 될 것 같습니다.

목표를 달성하는 만능 열쇠는 꾸준함이라고 생각합니다.
꾸준한 노력이 결실을 맺어, 보다 높은 수준의 엔지니어로 도약할 날을 꿈꾸고 있습니다.

진행 중인 사이드 프로젝트
  • C 언어 보안 프로그래밍 정리
  • 리버스 엔지니어링 코드 패턴 정리
  • 알려진 취약점 분석 및 0-day 연구

2018년 계획

이 블로그의 인기 게시물

데일 카네기 인간관계론 정리

Remove-Server-Header

응답 메시지 내 서버 버전 정보 제거 1. Apache 1) 조치 방법 “/etc/htpd/conf/httpd.conf” 파일 안에서 1. ServerTokens OS → ServerTokens Prod 2. ServerSignature On → ServerSignature Off 로 변경한 후 아파치를 재시작하면 헤더 값의 아파치 버전 정보 및 OS 정보를 제거할 수 있다. 2) 참고 URL http://zetawiki.com/wiki/CentOS_ 아파치_보안권장설정_ServerTokens_Prod,_ServerSignature_Off 2. IIS 1) 조치 방법 IIS 6.0 urlscan_setup 실행. 설치. \windows\system32\inetsrv\urlscan\urlscan.ini 파일을 열어 다음 수정(RemoveServerHeader=0 을 RemoveServerHeader=1 로 변경) 서비스에서 IIS Admin Service 재시작. IIS 7.0 IIS 관리자를 열고 관리하려는 수준으로 이동합니다. 기능 보기에서 HTTP 응답 헤더를 두 번 클릭합니다. HTTP 응답 헤더 페이지에서 제거할 헤더를 선택합니다. 작업 창에서 제거를 클릭하고 예를 클릭합니다. 2) 참고 URL IIS 6.0 : http://gonnie.tistory.com/entry/iis6- 응답헤더-감추기 IIS 7.0 : https://technet.microsoft.com/ko-kr/library/cc733102(v=ws.10).aspx 3. jetty 1) 조치 방법 “jetty.xml” 파일에서 jetty.send.server.version=false 설정 2) 참고 URL http://attenuated-perspicacity.blogspot.kr/2009/09/jetty-61x-hardening.html 4. Nginx ...

build with Address sanitizer

Address Sanitizer와 함께 빌드하기 GCC와 CLANG로 빌드 시 Adress sanitizer를 구성하는 예시이다. 오브젝트 코드 주소를 소스 코드 행 번호와 파일 이름으로 변환하려면 ASAN_OPTIONS=symbolize=1 옵션이 필요하다. GCC 사용 시 권장 방법은 -static-libasan 을 사용하여 ASAN에 정적으로 링크하는 것이다. ( ldd 명령어를 이용하여 이를 확인해보자.) ldd ldd(List Dynamic Dependencies)는 프로그램이나 공유 라이브러리들이 요구하는 공유 라이브러리(shared libraries)를 출력하는 명령 행(Command Line)프로그램이다. –version : ldd의 버전을 출력한다. -v, –verbose : 심볼 버전 정도등 모든 정보를 출력한다. -d, –data-relocs -r, –function-relocs –help : 사용방법을 출력한다. 출처 : joinc - ldd main.cpp 다음은 스택 오버플로우 취약점이 있는 간단한 소스코드이다. int main( int argc, char **argv) { int stack_array[ 100 ]; stack_array[ 1 ] = 0 ; return stack_array[argc + 100 ]; // BOOM } Makefile . PHONY: using -gcc using -gcc -static using -clang using -gcc : g ++- 4.8 -o main -gcc -lasan -O -g -fsanitize = address -fno -omit -frame -pointer main . cpp && \ ASAN_OPTIONS = symbolize = 1 ASAN_SYMBOLIZER_PATH = $(shell which llvm -s...