본문 바로가기
09.학교시험

2학년 1학기 정보보호개론 기말

by chojju 2021. 12. 5.
반응형

4. 웹 보안

5. 웹의 주요 취약점

·           명령 삽입 취약점

클라이언트의 요청을 처리하기 위해 전송 받는 인수에는 특정 명령을 실행하는 코드를 포함시켜 웹 서버에 전송, 실행시킨다.

웹서비스가 예외적인 문자열을 적절히 필터링 하지 못하는 경우에 발생

대표적 형태 SQL 삽입(Injection) 공격

·           XSS 취약점: 공격자에 의해 작성된 스크립트가 다른 사용자에게 전달되는 것. 다른 사용자의 웹 브라우저 내에서 적절한 검증 없이 실행되기 때문에 사용자의 세션을 탈취하거나 웹사이트를 변조하고 악의적인 사이트로 사용자를 이동시킴

·           취약한 인증 및 세션 관리

취약한 패스워드 설정

사용자 측 데이터를 이용한 인증: 데이터의 신뢰도에 대한 증명의 권한을 클라이언트에게 넘기면 클라이언트는 그 권한을 악용할 수 있다.

직접 객체 참조

디렉터리 탐색: 웹브라우저에서 확인 가능한 경로의 상위로 탐색하여 특정 시스템 파일을 다운로드하는 공격이다.

파일 업로드 제한 부재: 공격자는 웹 서버에 악의적인 파일을 전송하고, 원격지에서 해당 파일을 실행하여 웹 서버를 장악한다.

리버스 텔넷: 웹 해킹을 통해 시스템의 권한을 획득한 후 해당 시스템에 텔넷과 같이 직접 명령을 입력하고 확인할 수 있는 쉘을 획득하기 위한 방법이다.공격 대상인 서버에서 공격자인 클라이언트로 텔넷 접속을 넘겨주는 방식으로 텔넷 연결을 생성한다.

CSRF 취약점: 불특정 다수를 대상으로 로그인된 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정,삭제,등록,송금 등)를 하게 만드는 공격이다.

보안설정취약점

디렉터리 리스팅: 브라우저를 통해 디렉터리에 있는 파일과 목록을 나열하는 것

백업 및 임시 파일 존재

주석 관리 미흡

취약한 정보 저장 방식

보호하고자 하는 데이터의 중요도에 따라 암호화 로직을 사용하고,데이터베이스 테이블 단위에서 암호화를 수행한다.

URL접근 제한 실패

관리자 페이지가 추측하기 쉬운 URL을 가지거나 인증이 필요한 페이지에 대한 인증 미처리로 인해 인증을 우회하여 접속할 수 있게되는 취약점이다.

중요 페이지에 접근시 사용자 세션값(쿠키)을 검증한다.

인증 시 비암호화 채널 사용

인증에 사용되는 암호화 알고리즘이 약하거나 암호화하는 구조에 문제가 있을 경우 웹 트래픽은 복호화돠거나 위변조될 수 있다.

부적절한 오류처리

사용자들은 다른 페이지로 자동으로 리다이렉트 하거나 포워드 할 때 신뢰할 수 없는 데이터를 사용하는 경우

7.웹의 취약점 보완

특수문자 필터링

서버 측 통제 적용

지속적인 세션관리

 

5. 코드 보안

1.메모리의 기본구조

(그림)

스택: 프로그램 로직이 동작하기 위한 인자와 프로세스 상태를 저장하는데 사용한다.

: 프로그램이 동작할 때 필요한 데이터 정보를 임시로 저장하는데 사용

2.

운영체제를 둘러싸고 있으며 입력받는 명령어를 실행시키는 명령어 해석기이다

3.버퍼 오버 플로우 공격

데이터의 길이에 대한 불명확한 정의를 악용한 덮어쓰기로 인해 발생. 즉 정상적인 경우에는 사용되지 않아야 할 주소 공간, 원래는 경계선 관리가 적절하게 수행되어 덮어쓸 수 없는 부분에 해커가 임의의 코드를 덮어쓰는 공격이다.

4.포맷 스트링 공격

데이터 형태에 대한 불명확한 정의로 인해 발생.버퍼 오버 플로우 공격처럼 ret 값을  변조하여 임의의 코드를 실행시킬 수 있다.

 

6. 악성코드

1.악성코드의 분류

이름 설명
바이러스 사용자 컴퓨터 내에 몰래 프로그램이나 실행 가능한 부분 변형해 자신 또는 자신의 변형을 복사하는 프로그램
인터넷 통해 컴퓨터에서 컴퓨터로 전파되는 악성프로그램
바이러스와 달리 스스로 전파
트로이 목마 직접적인 피해X, 컴퓨터에 침투해 사용자의 컴퓨터를 조종할 수 있는 프로그램
인터넷 악성코드 인가되지 않은 성인사이트 or 크랙사이트 접속할때 감염
최근에 웜의 형태로 전이
스파이웨어 자신이 설치된 시스템의 정보를 원격지의 특정한 서버에 주기적으로 보내는 프로그램
패스워드 등과 같은 특정 정보를 원격지에 보내는 스파이웨어도 존재

2.바이러스

1. 원시형 바이러스(1세대)

초기 컴퓨터 바이러스가 등장했던 시점의 가장 원시적인 형태의 바이러스

단순 자기복제기능, 데이터 파괴 기능

부트 바이러스, 파일바이러스로 분류

2. 암호형 바이러스(2세대)

바이러스 코드를 쉽게 파악하고 제가할 수 없도록 암호화한 바이러스

바이러스 동작시 메모리에 올라오는 과정에서 암호화 풀림

3. 은폐형 바이러스(3세대)

바이러스에 감염된 파일들이 일정 기간의 잠복기를 가지도록 만들어진 바이러스

감염이 되더라도 실제로 동작하기 전까지 존재파악X

4. 다형성 바이러스(4세대)

특정 실별자를 이용하여 진단하는 기능을 우회하기 위해 사용되는 바이러스

조합 프로그램을 암호형 바이러스에 덧붙여 감염(실행될 때마다 바이러스 코드 자체 변경)

제작, 진단 어려움

5. 매크로 바이러스(5세대)

스크립트 형태의 실행 환경을 이용하여 전파되는 바이러스

주로 MS오피스 프로그램의 매크로 기능을 이용하여 감염

VBS로 많이 제작됨

매크로 바이러스의 증상

6. 차세대 바이러스

인터넷 성장, 네트워크발달로 다양한 바이러스 제작, 전파

스크립트형태의 바이러스 활성화

네트워크, 메일을 이용해 전파

사용자정보 빼내가거나 시스템 장악위한 웜의 형태로 진화

3.

네트워크 공격형 웜

네트워크나 시스템에 대해 Syn Flooding, Smurf와 같은 서비스 거부 공격 수행

시스템의 취약점 이용하여 확산,공격

최근 시스템공격과 네트워크 공격을 함께 수행

주요증상: 네트워크 마비, 속도저하 장비 비정상동작

종류: 져봇(Zerbo),클레즈(Klez)

4.기타 악성코드

백도어: 정상적인 인증 과정을 거치지 않고 운영체제나 프로그램 등에 접근할 수 있도록 만든 일종의 관리 목적의 통로

7.모바일보안

·          1.IOS•안드로이드 보안체계비교

  IOS 안드로이드
운영체제 UNIX에서 파생, 발전한 OS X의 모바일 버전 리눅스 커널을 기반으로 만들어진 모바일 운영체제
보안통제권 애플 개발자 or 사용자
프로그램 실행권한 관리자(root) 일반사용자
응용 프로그램에 대한 서명 애플이 자신의 CA를 통해 각 응용프로그램을 서명하여 배포 개발자가 서명
샌드박스 엄격하게 프로그램 간 데이터 통신 통제 IOS에 비해 상대적으로 자유로운 형태의 어플리케이션의 실행이 가능
부팅절차 암호화 로직으로 서명된 방식에 의한 안전한 부팅 절차 확보  
소프트웨어 관리 단말 기기별 고유한 소프트 웨어 설치 키관리  

 

2. 블루투스의 취약점과 위협

블루프린팅

블루투스 장치 6바이트 고유주소 앞3비트 제조사 뒤3비트 블루투스 장치별할당

3비트 만으로 종류 식별 불가능

장치간 종류 식별위해 SDP 주고받음

SDP이용해 공격자는 공격이 가능한 블루투스 장치를 검색하고 모델을 확인 할 수 있다.

 

블루스나프

블루투스의 취약점을 이용하여 장비의 임의 파일에 접근하는 공격

장치끼리 인증 없이 정보 교환위해 개발된 OPP기능 사용해 장치로부터 주소록 또는 달력등을 내용을 요청해 열람 or 취약한 장치의 파일에 접근 가능

블루버그

장비 간 취약한 연결 관리를 악용한 공격

공격장치와 공격 대상 장치를 연결해 공격대상 장치에서 임의의 동작을 실행하는 공격

한번 연결 후 다시 연결해주지 않아도 서로연결 되는 점을 이용

전화걸기,sms보내기 주소록 읽기,쓰기 실행가능

8.암호에 대한 이해

1. 암호의 발전사

2.전치법

단순히 메시지에 있는 문자의 위치를 바꾸는 방법

3.대체법

해당 글자를 다른 글자로 대체하여 암호화하는 방법

             단일치환

                           알파벳 한 글자를 다른 글자로 대체하는 방식

                           시저암호:3~4자씩 오른쪽으로 이동시킨 뒤 해당되는 글자로 변환시켜 암호화

                           모노 알파베틱: 규칙 없이 임의의 문자에 임의의 알파벳 대칭시켜 암호화

                                        26! 경우의 수

             단일치환 암호법은 키워드 몰라도 복호화가능

             다중치환

                           한 글자가 암호화 키와의 맵핑에 따라 여러 가지 다른 문자로 대체되어 암호되는 방식

                           비즈네르 암호화: 2626 알파벳 대칭표 이용해 암호화하고자하는 평문과 암호화키의 맵핑을 이용해 암호화 복호화 수행하는 방식                      

비즈네르 암호의 예: -wish to be free from myself,암호화키-secret is beautiful

비즈네르 복호화 과정: 암호화 키의 첫번째 문자 s 를 비즈네르 표의 가로 축으로 하여 O를 찾은 뒤, 세로축 w를 찾는 방식

17~18세기 널리 보급사용

                           플레이페어 암호: 2개로 이뤄진 문자 쌍을 다른 문자 쌍으로 대체하는 암호화 방법

보통 정사각형 암호판 안에 영어 알파벳을 배열한 것으로 대체하여 만듦.

암호화키(ASSASSINATOR)에서 중복 문자를 제거한 문자(ASINTOR) 5×5 정사각형에 순서대로 배열하고, 나머지 알파벳 차례대로 배열

이때 5×5 암호판의 칸이 알파벳 개수(26)보다 한칸 모자라므로 I J 혹은 Q Z를 같은 칸에 넣음.

플레이페어 방식으로 암호화하려면 먼저 주어진 평문을 2개씩 묶은 문자 쌍으로 만들어야 함.

띄어쓰기는 무시하고 2개의 문자 쌍을 한 칸씩 차례대로 나열

이때 SS와 같이 한 쌍의 문자가 같거나 마지막에 하나 남은 문자에는 X를 추가하여 문자 쌍으로 만듦.

평문을 대체함으로써 암호문으로 만들어보자.

암호화하려는 두 문자가 서로 다른 행과 다른 열에 존재할 경우(BE), 암호 문자는 B E의 행과 열이 만나는 곳에 위치한 G(B의 같은 열) O(E의 같은 열)이다.

 ·          LF와 같이 두 문자가 같은 열에 있다면 대체되는 암호문은 각각 아래쪽에 있는 문자이다.

문자 L V, 문자 F L에 대체되며 맨 아래쪽 문자일 경우에는 같은 열 맨 위의 문자로 대체됨.

 

·          OR과 같이 두 문자가 같은 행에 있다면 대체되는 암호문은 각각 오른쪽에 있는 문자이다.

문자 O R, 문자 R B에 대체되고 맨 오른쪽 문자일 경우에는 같은 행 맨 왼쪽 문자로 대체됨.

플레이페어 방식의 암호화 결과

2.대칭 암호화 방식(암호화키=복호화키)

             1.DES 알고리즘

                           64비트의 암호화 알고리즘으로 56비트 크기의 암호화키로 암호화된다. 따라서 생성가능한 암호화 키는 최대 256가지. 암호화는 하나의 블록인 64비트를 L1(32비트) L2(32비트)으로 나눈뒤 R1을 암호화키로생성한 S-Box를 통해 f함수르 만들어 치환한 후 dl 값을 L1과 논리합하고 L2 R2의 위치를 바꾸는 두 가지 기본변환을 통해 이루어진다.

암호학에서는 암호화 과정의 한 단계를 라운드라 표현, 혼돈이 바로 라운드 과정에서 이루어짐. DES는 하나의 블록에 대해 이러한 과저을 16번 수행하므로 16라운드 알고리즘이다.

3.비대칭 암호화 방식(암호화키≠ 복호화키)

4.해시

암호=정보 숨기기

해시=정보의 위변조 확인 위한 방법(정보의 무결성 확인)

반응형

댓글