'분류 전체보기'에 해당되는 글 128건

  1. 2020.09.02 SQL Injection
  2. 2020.09.01 CSRF 란
  3. 2020.08.31 윈도우 시스템 3
  4. 2020.08.31 취약점 1
  5. 2020.08.30 정보보안 이론1

SQL Injection

정보보안 2020. 9. 2. 00:05
반응형

Code Injection 공격의 종류

SQL Injection

클라이언트의 입력값을 조작하여 서버의 데이터 베이스를 공격하는 공격 기법

사용자의 입력값에 대한 필터링,이스케이핑이 잘이루어지지 못한 환경

시큐어 코딩의 기본이다.

 

SQL 쿼리문

**쿼리 = 데이터베이스에 정보를 요정하는 것 (http://www.terms.co.kr/query.htm)

MS-SQL

Microsoft 사에서 만든 웹 DB

1. SQL문은 대소문자를 구별하지 않지만 데이터는 대소문자를 구별한다.

2. 여러 주석을 다는 방법은 /* 주석 */ 한줄 주석은 문장 앞에 를 붙인다.

3. 각각의 데이터베이스의 SYSOBJECTS테이브에 해당 데이터베잇이 모든 정보가 보관되어 있다.

 

USE 데이터베이스명 /USE문을 사용한 데이터베이스 선택

SELECT*FROM 테이블명

 

(https://stophyun.tistory.com/62)

 

 

 

**SYSOBJECTSTYPE 칼럼으로

‘U’ = 사용자의 테이블

‘P’ = 저장 프로시저

‘K’ = 프라이머리 키

‘F’ = 포린 키

‘V’ =

‘C’ = 체크 제약 조건

 

AF = 집계 함수 (CLR)

C = CHECK 제약 조건

D = DEFAULT 제약조건 또는 독립실행형

F = FOREIGN KEY 제약 조건

FN = SQL 스칼라 함수

FS = 어셈블리(CLR) 스칼라 함수

FT = 어셈블리(CLR) 테이블 반환 함수

IF = SQL 인라인 테이블 반환함수

IT = 내부 테이블

P = SQL저장 프로세서

PC = 어셈블리(CLR) 저장 프로시저

PG = 계획 지침

PK = PRIMARY KEY 제약조건

R = 복제필터 프로시저

RF =...

(https://rocabilly.tistory.com/217)

**프로서저 특정작업을 수행하는, 이름있는 PL/SQL BLOCK 이다.

매개변수를 받을 수 있다, 반환값이 없다.(특정 로직 처리 후 종료)

반복적으로 사용 할 수 있는 BLOCK 이다.

보통 반복 또는 복잡한 트랜잭션을 수행하는 PL/SQL BLOCK를 데이터베이스에 저장하기 위해 생성한다.

사용언어: Oracle(오라클)

** 트랜젝션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 수행되어야할 일렬의 연산등을 의미한다.

(https://coding-factory.tistory.com/226)

 

반응형

'정보보안' 카테고리의 다른 글

네트워크(OSI 7계층 TCP/IP 5계층)  (0) 2020.09.15
Blind in jection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
윈도우 시스템  (3) 2020.08.31
취약점 1  (0) 2020.08.31
Posted by 53C
,

CSRF 란

정보보안 2020. 9. 1. 18:04
반응형

CSRF

Cross-site Request Forgery

사이트 간 요청 위조

를 말한다.

 

클라이언트로부터 요청(request)에 대해서 정상 여부인지 검증하지 않는 경우 취약하다.

 

공격과정

 

클라이언트 와 서버 사이의 쿠키를 획특

쿠키 값을 이용해서 로그인

 

방어방법

 

Referer 검증

해당 요청에대한 referer를 확인하여 도메인이 일치 하는지 검증하는 ㅂㅇ식이다.

 

CSRF Tockn 사용

랜덤함 수를 사용자의 세션에 저장하여 모든 요정에 대하여 서버에서 검증하는 방식

 

CAPTCHA 사용

자동등록 방지 프로그램을 사용한다.

 

%선행지식

GET방식과 POST 방식

클라이언트가 서버로 요청을 했을떄, 보내는 데이터를 HTTP패킷이라고 한다.

웹 어플리케이션이 서버츳에서 정의한 방식으로 클라이언트 웹 서버 자원에 요청을 한다.

 

GET방식

클라이언트의 데이터를 URL뒤에 붙여서 보낸다.

특징

헤더 내용중에 BODY가 빈상태로 전공이 된다.

URL형태로 표현되므로, 특정 페이지를 해커가 접속이 가능하다.

데이터를 보내는양에 한계가 있다.

Content-Type이라는 헤더필드는 들어가지 않는다.

 

POST 방식

클라이언트 데이터를 BODY에 넣어서 보내게 된다.

BODY에 데이터를 넣어서 보내게 된다.

Content-Type이라는 헤더필드가 들어간다.

 

세션과 cookie방식 Token 기반 인증

-----------------------------------------------------

클라이언트 서버

로그인+쿠키 생성) -> 확인 쿠키저장

쿠키+요청 -> 쿠키인증+응답

====================================================

로그인 -> 세션 아이디 생성

<- 세션 아이디 전송

섹션+요청 -> 세션확인+응답

====================================================

로그인 -> 세션ID 생성

<- 토큰 발급

토큰+요청 -> 토큰인증+응답

 

세션의 경우 웹 어플리케이션의 메모리에 저장이 되기 때문에 안전하다.!

토큰의 경우 세션 정보가 서버에 저장하며 사용자가 토큰을 메모리에 가지고 있다.

 

?토큰은 세션과 cookie를 합친 하이브리드 방식인가?

 

HTTP 리퍼러(HTTP referer)는 웹 브라우저로 월드 와이드 웹을 서핑할 때, 하이퍼링크를 통해서 각각의 사이트로 방문시 남는 흔적을 말한다

반응형

'정보보안' 카테고리의 다른 글

Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
윈도우 시스템  (3) 2020.08.31
취약점 1  (0) 2020.08.31
정보보안 이론1  (0) 2020.08.30
Posted by 53C
,

윈도우 시스템

정보보안 2020. 8. 31. 17:50
반응형

윈도우 시스템은 크게 사용자모드와 커널모드로 구별된다.

 

https://en.wikipedia.org/wiki/Architecture_of_Windows_NT

 

운영체제의 중심에는 kernel이 위치한다. kernel은 운영체제의 기본기능을 제공하는 핵심이다.

커널모드는 기본적으로 일반 사용자가 접근할 수 없는 영역이다.

 

$중요

 

#Protection rings (Ring Architecture)

악의적 행동 또는 사용자의 부주의로 인해 시스템이 손상되는 것을 막기 위해 기능과 데이터를 보호하기 위한 메커니즘

Gain Privilege(권한 상승) 취약점은 이러한 권한 통제를 우회하는 취약점

 

 

#Hypervisior (하이퍼바이저)

한 호스트에서 운영체제를 동시에 실행하기 위한 논리적 플랫폼

# Docker

리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배피시키는 일을 자동화하는 프로젝트이다.

도커는 리눅스 운영체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공한다.

-> 컨테이너 기반 가상화 플랫폼

 

Hypervisior(하이퍼바이저)와 Docker(도커)의 차이점

 

도커는 컨테이너 기반 가상화로 단일 운영체제 커널내에 다중 분활 기능을 가능하게 한다.

최고의 선능과 밀도 동적 리소스관리 기능을 제공한다.

 

하이퍼바이저는 하드웨어 또는 베어메탈에서 직접 실행이되며 가상화 서비스가 싱행중인 가상 컴퓨터에 직접제공된다.

운영체제, 가상화된 하드웨어 및 실제 하드웨어가 협업하여 최적의 성능을 얻을 수 있도록 도아준다.

하이퍼 바이저는 크기가 작고 추가 리소스가 필요하지 않는다.

 

도커와 하이퍼바이저는 저마다 장단점을 가지고 있다. 환경에 맞추어서 사용을 해야한다.

 

 

 

 

윈도우의 계정은 SYSTEM 계정, 관리자 계정, 일반 계정으로 구분된다.

 

#윈도우 인증

 

LSA :

모든 계저의 로그인에 대한 검증, 시스템 자원 및 파일 등에 대한 접근 권한 검사, 로컬, 원격 모두 해당,

이름과 SID를 매칭하며,

SRM이 생성한 감사 로그를 기록한다. 

 

SAM : 

윈도우에서 패스워드 암호화 하여 보관하는 파일의 이름과 동일

 

SRM : 

SRM이 사용자의 계정과 패스워드 일치 여부를 확인하여 알리면 사용자에게 SID부여,

SID에 기반하여 파일이나 디렉터리에 접근 허용 여부결정, 이에대한 감사 메세지 생성

 

 

반응형

'정보보안' 카테고리의 다른 글

Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
취약점 1  (0) 2020.08.31
정보보안 이론1  (0) 2020.08.30
Posted by 53C
,

취약점 1

정보보안 2020. 8. 31. 15:51
반응형

취약점 : 사용자에게 허용된 권한 이상의 동작이나 정보를 열람을 가능하게 하는 설계상의 허점을 말한다.

익스플로잇(Exploit) : 해당 취약점을 공격하여 원하느 코드를 실행하거나 특정 목적을 달성하는 공격코드

 

취약점의 종류

  • Dos: Denial of Servis (서비스 거부 공격)

A. 가용성을 침해하는 행위로, 서비스를 방해하는 서비스 거부공격

많은 네트워크 공격방식이 있다. 하지만 네트워크 공격방식만 있는것은 아니다.

 

  • Code Excution

운영체제의 명령어 해석기(UCI)를 통해 특정 명령어를 실행하는 공격

보통 원격 코드 실행(RCE)으로 많이 불리기도 한다.

 

  • Overflow

메모리 경계값을 검사하지 않아, 공격자가 할당된 메모리 바운더리를 벗어나서 임의의 메모리에 접근할 수 있는 취약점

 

  • Memory Corruption

메모리 관련 취약점이다. 메모리를 참조하는 부분에서 오류가 발생하는 취약점

메모리 오염 취약점을 이요애서 공격자가 원하는 명령어를 참조하도록 공격이 가능하다.

 

  • Gain Information

공격자에게 유리한 정보가 노출되는 취약점, 버전 정보, 시스템 경로 정보 등이 노출되는 것.

 

  • Gain Privileges 

낮은 권한을 가진 계정에서 높은 권한을 가진 계정으로 올라갈 수 있는 취약점

사용자권한에서 최고관리자 권한으로 올라갈 수 있는 취약점

 

이하 기타는 네트워크 관련 취약점

반응형

'정보보안' 카테고리의 다른 글

Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
윈도우 시스템  (3) 2020.08.31
정보보안 이론1  (0) 2020.08.30
Posted by 53C
,

정보보안 이론1

정보보안 2020. 8. 30. 21:32
반응형

정보보안이란

 

정보란 가치가 있는 데이터를 말한다. 데이터는 모든 값를 뜻하고 모든 정보를 가공하여만든것이 정보가 된다.

정보보안에서 보안은

C.I.A 를 지키는 것을 말한다.

C. 기밀성 : 권한이 있는 사용자만 접근 수정 삭제가 가능하다.

I. 무결성 : 정보가 위변조되어서는 안된다.

A. 가용성: 인가된 사용자가 서비스에 언제든 접근이 가능해야한다.

 

운영제제의 기능

 

1. 사용자 명령인터페이즈(UCI)

- 윈도우 : CMD 유닉스 : /bin/sh 리눅스: bin/bash 쉴

- 원격공격을 통해서 가장 얻고자 하는 기능

* 모든 쉘을 자유롭게 사용이 가능하여야 한다.

* 리눅스 쉘을 빠르고 공부하는 방법 = GUI없는 리눅스 사용해보기

 

2. 메모리 관리

-할당된 메모리를 다른 프로그램이 접근하디 못하게 관리하고 보호, 사용 종료 후 회수

-운영체제 및 시스템 해킹에서 메모리관련 취약점이 매우 많이 사용이 된다.

 

3. 프로세스 관리 

-프로그램코드를 구성하는 명령어(인스트럭션)을 작업스케줄링 관리

-프로그램의 취약점을 공격할 때 인스트럭션(어셈블리어/기계어)를 이해하고 구동 원리를 이해하는 것이 매우 중요하다.

 

4. 장치관리

시스템 내의 모든 장치(Device)를 프로그램에 할당하거나 회수하는 기능

 

5. 파일 관리

-사용자 별 접근 권한을 부여하고, 접근 권한에 따라 파일을 익거나,쓰거나,실행할 수있는 기능을 관리

- 공격자가 사용자 명령 인터페이스 기능(USI)을 획득하면, 파일 관리 기능을 통해 중요 파일을 열람하여 정보를 탈취해감

-유닉스/ 리눅스 계열과 같이 Multi-User시스템이 기본인 경우에는 파일관리가 잘못되었을경우, 일반 사용자가 중요파일에 접근 하수 있는등 접근 통제 취약점이 발생한다.

 

프로세스와 프로그램의 차이점 그리고 쓰레드

 

프로세스- 프로그램이 메모리에 적제되어 실핼하는중인 상태

프로그램 - 프로그램이 저장장치에 적제되어 있어 실행전인 상태

쓰레드 - 프로세스내에서 실행되는 세부작업단위이다.

ex) 이떄 두개 이상의 프로세서를 실행하는 것을 멀티프로세스라하고 두개의 명령을 철리하는 것을 멀티 태스킹이라 한다. 프로세스는 쓰레드의 하위개념인가?

 

버그: 개발자가 의도 또는 의도하지 않은 행위로 발생하는 오류

취약점: 버그중 보안상 결함(CIA)->익스플로잇->공격코드 실행

 

소프트웨어 생명주기

A단계에서는 SW개발 보안가이드를 참조하여 프로그램을 설계해야한다.

B단계에서 테스트와 구현을 통해서 시큐어 코딩이 이루어져야한다.

 

이때, 0day공격이란 취약점을 발견한후 취약점에 대한 패치가 완료되기 전까지를 의미한다.

1day 공격이란 취약점이 발견되고 패치가 완료되기전까지를 의미한다. 패치가 되기 전까지는 공격을 막을 방법이 없으며, 다양한 변종공격이 이루어 진다.

 

이를 위해서 kisa에서는 다양한 정책을 사용하고 있다.

그중 패스워드 정책의 경우

1. 길이,복잡석,특수문자

2. 최대 사용시간

3. 최소사용시간

4.동일한 비밀번호 사용금지

5.시도 횟수 제한

 

을 두고 있다.

 

비밀번호는 브루트 포스 공격(무작위 대입공격)을 막기 위한 방침이다.

1,2,5 번 문항을 이용해서 암호해독에 걸리는 시간을 지연시킨다.

그리고 3,4번 문항을 통해서 1,2,5 문항의 취약점을 보안하게 된다.

 

암호화의 방법에는

대칭키 방법과 공개키 암호화 방식이 있다.

이방법은 후술하겠습니다.

 

프로그램의 실행 순서?

코그->컴파일->목적파일->링크/빌드->실행

 

 

 

 

 

 

 

 

 

반응형

'정보보안' 카테고리의 다른 글

Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
윈도우 시스템  (3) 2020.08.31
취약점 1  (0) 2020.08.31
Posted by 53C
,