본문 바로가기

반응형

Information Security/Hacking

(52)
파일 다운로드 취약점 (File Download Vulnerability) * 파일 다운로드 취약점 : 웹 상 파일 다운로드 시, 경로 및 파일명을 파라미터로 받아 처리하는 경우, 적절한 필터링이 없어 경로 및 파일명 조작이 가능할 시, 허용되지 않은 파일을 다운 받을 수 있는 취약점 * Directory Traversal Attack : Traversal은 여기저기 이동한다는 의미로, 허가되지 않은 디렉터리나, 파일 경로를 이동하며 접근하는 공격 * 취약점 판단 기준 : URL/파라미터 조작을 통해 임의 파일 경로 접근, 또는 파일 다운로드가 가능할 시, 취약 * 대응책 1) 허용하는 경로 이외에 디렉터리와 파일에 접근할 수 없도록 처리(문자열 필터링 등 블랙리스트 기반 차단 적용) - (유닉스/리눅스) ../, ./ - (윈도우) ..\, .\ // 다운로드 파일명에 대해 ..
파일 업로드 취약점 (File Upload Vulnerability) * 파일 업로드 취약점 : 파일 업로드 기능이 존재하는 웹 상, 업로드 파일에 대한 제어(필터링, 개수 및 크기 제한 등) 미흡으로 외부에서 파일이 업로드 될 수 있는 취약점 - 악성 웹쉘(다양한 언어로 만들며, 임의의 명령을 실행할 수 있는 Server Side Script 파일) 업로드 - 다량의 대용량 파일을 연속 전송하여 시스템 부하 및 장애 유발 등 * 공격 예시 및 대응책 1) 파일 타입 필터링 미흡으로 인한 파일 업로드 //웹쉘 파일 코드 예시 ~~~ Content-Disposition: form-data; name="upfile[]"; filename="webshell.php" Content-Type: application/octet-stream
웹 상 운영체제 명령어 실행 (OS Command Execution on Web) * 웹 상 운영체제 명령어 실행 : 웹 애플리케이션에서 시스템 명령어 실행 함수를 제공, 입력값 필터링이 제대로 이루어 지지 않은 환경에서 공격자가 시스템 명령어를 호출 할 수 있는 취약점 * 시스템 명령어 실행 취약점 운용 형태 유닉스/리눅스 명령어 연속 실행 명령어 설명 명령1 ; 명령2 명령 1,2 순차적 수행 명령1 && 명령2 명령1 결과 참일 경우 명령2 수행 명령1 || 명령2 명령1 결과 거짓일 경우 명령 2 수행 명령1 | 명령2 명령 1 수행 결과를 명령2의 표준 입력으로 전달 PHP 운영체제 명령어 실행 함수 내용 shell_exec(cmd) 실행된 명령어의 전체 결과를 반환 passthru(cmd) 실행된 명령어 전체를 바이너리 데이터로 반환 exec(cmd) 실행된 명령어의 마지막..
정적, 동적 분석 (Static, Dynamic Analysis) * 정적 분석 : 소프트웨어가 실행되지 않는 환경 하, 소스 코드 의미를 분석, 결함을 찾아내는 분석 기법 * 정적 분석 분류 분류 내용 소스 코드 분석 시큐어 코딩 가이드 기반 취약한 항목의 존재 확인 시멘틱 분석 인터페이스 & 함수 호출의 구조적 취약점을 분석 바이너리 구조 분석 역공학 분석 도구를 이용 * 동적 분석 : 소프트웨어가 실행중인 환경 하, 다양한 입/출력 데이터, 사용자 상호작용의 변화들을 점검 * 동적 분석 분류 분류 내용 행위 탐지 기법 실행 시 취약/이상 현상을 탐지 샌드박스 기법 가상화 환경에서 직접 실행을 통해 이상 현상을 분석 모의 해킹 실제 화이트 해커가 직접 진단 * 정적 / 동적분석 비교 비교 정적 분석 동적 분석 점검 대상 프로그램 소스 코드 실제 애플리케이션 평가 기..
시큐어 SDLC (Secure Software Development Life Cycle) * 시큐어 SDLC : 소프트웨어 개발 시 생명주기 전 단계에 보안을 적용하는 기법 - 시큐어 코딩에서 시큐어 SDLC로 기업 관심도가 이전 * 시큐어 SDLC 과정 단계 행위 내용 사전 / 준비 위협 모델링 정량적 위협을 계산, 대응 조치를 계획 계획 / 분석 시큐어 디자인, 보안 위험분석 필수 보안 설계 원칙을 준수해 산출물 도출 설계 샘플코드 인스펙션, 공격 영역분석 시큐어 코딩 가이드에 따른 소스 코드 검토 및 수정 구현 정적 분석, 취약한 API 탐지 자동화 보안 도구를 이용한 취약점 점검 시험 / 검증 동적 분석, 침투 테스트, 위협모델 검증 실제 모의 해킹과 같은 테스트를 수행 배포 / 운영 24X365 모니터링, 취약점 탐지/대응 항시 실시간 대응을 수행 * 시큐어 SDLC 유형 유형 내용..
시큐어 코딩 (Secure Coding) * 시큐어 코딩 : 잠재적 보안 약점을 제거하는 보안을 고려한 소프트웨어 설계 및 구현 활동 * 시큐어 코딩 참조 - KISA에서 '소프트웨어 개발 보안 가이드' 지속 업데이트 및 배포 - 해당 자료는 2019년 11월 기준 설계 단계(총 20개) / 구현 단계(총 47개) 구성 * 시큐어 코딩 설계 단계 : 개발 진행 전 설계 산출물을 기반으로 확인하는 단계 종류 내용 입력 데이터 검증 및 표현 입력에 의해 발생하는 취약점을 제거 보안 기능 접근 제어, 권한 관리, 비밀번호 설계 취약점 제거 에러 처리 에러 및 오류 상황의 불충분한 사전 정의로 데이터 유출 세션 통제 세션 간 데이터 공유 / 미허가 사용자 접근 / 만료 시간 미산정 약점 제거 * 시큐어 코딩 구현 단계 : 코드를 이용해 보안 약점을 제..
사이버 표적 공격 역추적 (Advanced Persistent Threat Traceback) * 사이버 표적 공격 역추적 : 공격 시스템 외의 실제 공격 근원지(해커 위치)를 실시간으로 분석, 추적하는 기술 * Advanced Persistent Threat Traceback 방식 방식 내용 예시 세부 분류 IP 기반 역추적 비연결 지향성 통신 방식으로 공격 로그를 분석, 공격자 위치를 추적 확률적 마킹, iTrace, Hop-by-Hop, Overlay 기반 등 전향적 방식 (사전에 역추적 정보를 생성, 패킷에 삽입하여 전달) 대응적 방식 (피해 시스템에서 해킹 트래픽이 연결된 경로Hop 단계를 추적) TCP 연결 기반 역추적 연결 지향성 통신 방식으로 역추적 Timing-Based, Thumb Printing, Caller-ID 등 네트워크 연결 추적 (분산 설치된 트래픽 모니터링 장비를 이..
Security Action Cycle(SAC - 시점별 보안 활동) * SAC : 모든 공격을 사전 통제할 수 없기 때문에, 조직의 정보 보호 수준을 유지 및 향상하기 위해 조직, 인력, 프로세스, 기술을 통한 예방, 탐지, 저지, 교정 활동 * SAC 절차 단계 통제 종류 내용 예 사전 예방(Preventive) 통제 문제/사고를 사전에 방지 FW, 암호화, WIPS, IAM, AAA, DRM 보안 정책 수립, 보안 서약서, 업무 분리, 보안 경비, 출입통제, 자물쇠 등 발생 중 탐지(Detective) 통제 위협을 탐지, 발생을 보고 IDS, Audit Log, ESM, SIEM, 모니터링, 탐지 센서, 경보 등 저지(Deterrent) 통제 문제/사고 발생 시, 위협의 통제 조치 보완, 문제점 제거 DLP, USB 보안, IPS, 필터링, 법/제도 모의훈련, CCT..

반응형