●Blind SQL Injection :쿼리 결과의 참과 거짓을 통해 의도하지 않은 SQL무 시행해 DB 공격하는 기법
●크로스사이트 스크립트(XSS)
입력 값에 대한 필터링이 제대로 이뤄지지 않을 경우, 공격자가 입력 가능한 URL, 게시판에 악의적 스크립트 삽입해 해당스크립트가 희생자 측에서 동작하도록 하는 취약점
●디렉터리 트레버셜 공격 : 여기저기 이동한단 의미로 허가되지 않은 디렉터리나 파일경로로 이동해 접근하는 공격
URL 주소에 ../ , “..\ 등 추가해 상위 디렉터리로 이동 후 특정파일 호출
●파일삽입 취약점 : 악성서버 스크립트를 서버에 전달, 해당 페이지를 통해 악성코드 실행되도록, php.ini 파일에서 allow_url_fopen을 off 설정 → 외부사이트 악성스크립트 파일이 URL형태로 포함되지 않도록
●웹 어플리케이션 취약점
1. HTTP 응답분할(Response Splitting) 취약점
http 요청 파라미터(입력 값)가 http 응답헤더에 포함되어 클라이언트에 다시 전달될 때, 입력 값에 개행문자인 CR(Carriage Return, %OD)와 LF(Line Feed, %OA)가 포함돼있으면 응답이 2개 이상으로 분리 → 공격자가 개행문자 이용해 첫 번째 응답 종료, 두 번째 응답 악의적 코드 삽입해 xss등의 공격 수행
-대응책
클라이언트 요청 입력 값이 서버프로그램에서 쿠키로 사용되거나, Redirection 위해 Location 응답헤더로 사용되거나, 기타 응답 헤더설정에 사용될 경우 HTTP 응답분할 발생 않도록 필터링해 사용함
●DB 암호화 기술
-컬럼 암호화 방식 : API, plug-in, Hybrid 방식
-블록 암호화 방식 : TDE, 파일 암호화 방식
●Mysql DBMS 취약점
update user set password=passwd(‘algisa02!’) where user = ‘root’;
flush privileges
●개발 보안 관리
-개발 보안 안내서
1. 사용자에게 전달된 값 (Hidden Form 필드, 파라미터) 재사용할 경유 신뢰X
2. 최종 통제 메커니즘은 반드시 서버에서 통제
-스크립트 등을 통해 클라이언트 측에서 입력 값 검증은 쉽게 우회 가능
-1차 검증은 클라이언트, 2차 : 서버 검증 가능하게
3. 클라이언트에 중요 정보 전달 x : 쿠키에 중요정보 전달 시 암호화
4. 중요 정보 전송 시 POST 메서드 및 SSL(HTTPS)적용
-GET 사용하면 정보노출, 중요도에 따라 SSL 사용
5. 중요 트랜잭션 일어나는 프로세스에 사용자 비밀번호 재확인
6. 중요정보 페이지는 캐시 사용 못하도록 설정
●보안관리
-전사적 통합보안 관리 시스템 (ESM : Enterprise Security Management)
-위협관리 시스템 (TMS : Threat Management System)
-패치관리 시스템 (PMS : Patch ㆍ ㆍ )
●무선침입방지 시스템(WIPS : Wireless Intrusion Prevention System)
비인가 무선단말기 접속 자동 탐지 및 차단, 무선 공유기 탐지 솔루션
●네트워크 접근제어 (NAC)
접속 단말기 사용자가 정상인지 인증 절차 → 보안프로그램 정상 설치ㆍ동작 무결성 검증
●무결성 점검도구(tripwire)
파일시스템 무결성 점검 : 의심스런 변화 감지 시 이를 검사ㆍ복구
●루트킷(Rootkit) 점검도구(chkrootkit)
루트킷 : 자신의 존재가 탐지되지 않도록 숨기면서 관리자 권한 획득과 백도어 등의 기능 수행하는 코드와 프로그램 집합
원리 : ps 실행결과와 (/proc) 디렉터리에 있는 프로세스 정보를 비교해 /proc 디렉터리엔 프로세스가 있지만, ps 실행 시 보이지 않는 프로세스를 히든 프로세스 탐지
대응 : RPM(Redhat Package Manager) 명령 이용해 변조파일 확인
-변조/감염 파일만 교체는 임시방편, 최선은 시스템 재설치
●익스플로잇(exploit)
-SW나 HW의 버그 or 취약점 이용해 공겨자가 의도한 동작이나 명령 실행토록 하는 코드(익스플로잇코드)
-성공 시 프로그램 실행 제어권 획득, 공격자가 의도한 명령 담은 코드 실행, 이를 쉘코드(shell code)라고 함
●쉘코드 : 공격자가 원하는 작업을 수행하는 다양한 형태의 코드
●프로세스 제어블럭 (PCB)
PCB : OS가 프로세스 관리하는데 필요한 모든정보 유지하는 자료교환 테이블,
프로세스가 생성할 때 만들어짐, 모든 프로세스는 각각 고유한 디스크립터 가짐
'정보보안' 카테고리의 다른 글
정보보안기사 자격증 준비 및 요점 정리 (2) (0) | 2023.01.02 |
---|---|
unix 서버 취약점 계정잠금 임계값 설정 (0) | 2023.01.02 |
unix 서버취약점 > 계정관리 > 패스워드 복잡성 설정 (0) | 2022.12.29 |
윈도우 서버 취약점진단 administrator 계정이름 변경 등 보안성 강화 (0) | 2022.12.28 |
리눅스마스터 1급 시험 준비 (0) | 2022.12.27 |
댓글