준코딩

보안 Security 본문

CS/운영체제

보안 Security

Ljunhyeob - App Dev 2019. 3. 29. 18:19

보안(security)이란?

 -시스템과 그 시스템의 자료들이 결함 없이 보전된다는 것을 의미하는 일종의 신뢰도이며, 보안의 보장은 보호의 개념보다 광범위한 주제로 생각할 수 있다.

보안 문제

-기밀성 침해 : 인증 받지 않고 자료 읽음

-무결성 침해 : 인증 받지 않고 자료 수정

-가용성 침해 : 인증 받지 않고 자료 파괴

-서비스 가로채기 : 인증 받지 않고 자료 사용

-서비스 거부 : 적법한 사용을 막음

시스템 보호하기 위한 보안 대책

물리적 수준 : 컴퓨터 시스템을 수용하는 장소는 침입자에 대한 물리적 보호가 되어야 한다.

인적 수준 : 적절한 사용자만 시스템에 접근하는 것을 보장

운영체제 : 시스템은 우연한 또는 고의의 보안 침해로부터 자신을 보호해야 한다.

네트워크 : 컴퓨터 데이터가 개인 임대 네트워크를 통해 또는 인터넷 같은 공유 네트워크를 통해 이동한다.
               ->
이러한 데이터를 가로채기 당하는 것은 컴퓨터가 침입 당하는 것만큼 유해하다

 

 

프로그램 위협

-트로이 목마 : 정상적인 프로그램으로 위장하여 시작부터 끝까지 램에 상주하며, 시스템 내부 정보를 공격자의

                  컴퓨터로 빼돌리는 프로그램.

-트랩 문(백도) :  정상적인 인증 절차를 거치지 않고, 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 것.

           -> 설계자나 관리자에 의해 남겨진 시스템의 보안 허점

           -> 설계자가 일부러 남겨놓은 경우는 개발 단계에서의 테스트를 위해, 유지 보수 시의 효율성을 위해.

-논리 폭탄 : 프로그램 안에 어떠한 조건을 넣고 이 조건이 만족되면 계획한 불법적 결과가 자동으로 나타나도록 하는 수법

-스택과 버퍼 오버플로우 : 스택 또는 버퍼오버플로우 공격은 네트워크 또는 모뎀을 사용하는 연결에서 침입 목표          시스템에 인가되지 않은 접근을 얻기 위해 시스템 외부의 침입자가 사용하는 가장 일반적인 방법.

Ex) 버퍼 오버플로우: 데이터를 저장할 때 프로그래머가 지정한 곳 바깥에 저장하는 것

->벗어난 데이터는 인접 메모리를 덮어 쓰게 되는데 다른 데이터를 손상을 주어서 오류를 발생시킴

Ex)스택 오버플로우 : 스택에 할당된 크기보다 큰 데이터를 넣어서 메모리 주소를 넘치게 쓸 때 발생   

 

 

 

바이러스

-바이러스는 자가 복제 가능하고 다른 프로그램을 감염 시키도록 고안된 프로그램이다.

->파일을 변경하거나 파괴하고 프로그램 오작동 등을 일으키는 등 시스템을 망칠 수 있다

파일 바이러스: 자기 자신을 파일에 덧붙임으로써 시스템을 감염시킨다. 프로그램의 시작부분을 변형시켜서

                   실행이 시작되면 자신의 코드로 분기하게 만든다. 바이러스가 실행한 다음 정상적으로 프로그램을

                   실행하게 되도록 하여서 사용자가 알아채지 못하게 만든다.

부트 바이러스: 시스템이 부팅될 때 운영체제가 읽혀지기 전에 언제나 실행된다.

       -> 다른 부팅 가능한 미디어를 찾아 감염시킨다.

잠행 바이러스: 바이러스를 감지하는데 사용되는 시스템의 일부를 수정함으로써 감지를 피하려고 시도한다

Ex) read() 시스템 호출을 수정해서 만약 자신이 수정한 파일이 읽히면 감염된 코드가 아니라 원래 형태의 코드를 돌려준다.

 

'CS > 운영체제' 카테고리의 다른 글

보안  (0) 2019.04.09
주 메모리 & 가상 메모리  (0) 2019.03.29
운영체제 구조  (0) 2019.01.21
운영체제 서론2  (0) 2019.01.11
운영체제 서론1  (0) 2019.01.10
Comments