본문 바로가기
C , C++

C_ 객체 란? SDL 이란?

by Edes Kim 2020. 6. 4.

기계어 -> 어셈블리어  ->  C 언어  ->  c++

                      저급언어     |    고급 언어

                                             절차 지향   |   객체 지향

     

< 절차 지향 vs 객체 지향 >

절차지향 : 함수

객체지향 : 객체  (즉, 객체끼리의 상호방식을 통해.)

 

* 어셈블리어

: 기계어와 1:1 대응이 되는 컴퓨터 프로그래밍의 저급언어

 

* 객체

: 구조체 + 함수 

어떤 데이터를 표현하기 위해,

데이터를 저장할 수 있는 공간인 구조체와 그 공간을 컨트롤 할수 있는 기능인 함수를 하나의 unit으로 만든것.


                2010                        2012                                       2015                         2017 

     ------------|-------------------------|--------------------------------------|--------------------------|-------------------->

               취약점                           #########################        

                발견                                     SDL 사용 선택 가능                             선택 x (무조건 사용)

            (overflow)                                                                                 일반 'scanf'로사용할시 오류처리

 

* SDL

( Security Development Lifecycle)

: 'scanf' 와 같은 함수의 취약성이 나타나면서 이 점을 보안할 'scanf_s'와 같은 보안이 강화된 함수의 사용을 나타낸다.

 

SDL을 사용하지 않는다는 것은 'scanf'를 그대로 사용하겠다는 뜻

SDL을 사용하겠다를 체크 했다면 'scanf_s'로 고쳐서 사용하겠다는 뜻.

 

'scanf' 를 사용했을때 보안상의 이유로 오류,에러처리를 하는데 이때 ,