[잡담]아마추어의 경험들...
글쓴이: OpenSnake / 작성시간: 일, 2007/12/02 - 2:20오후
보통 뉴스나 리눅서들한테 많이듣는 애기로 윈도우는 보안에 취약하다는 애기을 많이 듣습니다..
근데 막상 제 주위에서 제가 직접 눈으로 발견하는 보안사고는 이상하게도 리눅스가 깔린 pc들이였습니다...
(원인: 구버젼,관리소홀,심지어 방화벽이 귀찮다고 내려놓고 살더군요...)
이런 장면을 3번정도 목격했는데....(사람의 찾아오더군요...이곳에서 해킹사고가 났다고....)
차라리 초보자들한테는 오히려 윈도우가 더 보안측면에서 더 좋은게 아닐까싶더군요..
리눅스가 보안의 좋다는 애기는 어느정도 수준에 올라와있는 리눅서들에게 해당하는 애기인거같습니다..
이번에는 프로그래밍애기을 해보자면....
수학의 프로그래밍에 도움의 된다는 애기을 많이듣는데...
실제로는 글쎄요...라는 생각밖에 안들더군요......
알고리즘은 확실히 도움이 된다는걸 몸으로 느끼겠는데...
수학의 도움이 된다는 애기는 프로그래밍하면서 직접 피부로 못느끼겠습니다...
그리고 가장궁금한게 "고수들의 프로그래밍은 어떻게 하는걸까?"입니다...
뭔가을 만들기 시작하면 관련된 api 가지고 와서 제작을 하는데요...
그 수많은 함수들을 전부외우고 하는겁니까??
저는 copy&paste 말고는 방법이 없더군요...
c&p 한후에 알고리즘으로 다듬어주면 프로그램의 완성되던데요..
저는 이 방식말고 다른 방법으로 어떻게 하는지 모르겠더군요...
Forums:
보안은요..
보안은 관리자가 허접하면 세상 어느 물건을 쥐어줘도 똑같이 개판입니다.
아무래도 윈도우즈 서버군은 매우 비싸기 때문에, 적어도 그 일로 밥 벌어 먹는 사람들이 주로 쓰기 때문에 관리자의 수준이 어느정도 보장됩니다.
1) 윈도우즈가 보안에 취약하다는 소리는요. 소스가 공개되어 있지 않아서 보안 구멍을 미리 확인하기 어렵고, 보안패치가 나오는 시간도 늦기 때문입니다. 리눅스는 보안구멍이 나오면 1주일 이내에 패치가 뜨죠.
2) 그리고 또 한가지, 윈도우즈 서버는 핫픽스 업데이트하면 재부팅 해야 적용이 됩니다. 24시간 돌아가야 하는 서버에서 재부팅한다는건 장사 안하겠다는 소리인데요. 예전에 슬래머 웜 바이러스였나? 코드레드였나? 림다 였나? 암튼.. 코넷 DNS에 DOS 공격 들어가서 하루 우리나라 인터넷 마비된날 있었잖아요. 그때 원인이, 패치가 이미 나왔는데도 재부팅을 안해서 그런 일이 생겼습니다. 리눅스는 보통 데몬을 다시 띄우면 되니깐 그것도 장점이죠. 아 물론, 구버전 고집하는 분들은 할말이 없네요..
위에서도 말씀드렸지만.. 보안이 뛰어나다는 NetBSD를 쓰더라도 관리자가 바보면 다 뚫립니다.
리눅스 보안사고 문제는 초보 관리자들도 접근하기 쉬운 운영체제라 그런것 같네요.
초보리눅서도 요새 나오는 최신 배포판들 우분투 서버나 페도라 같은거 기본세팅으로 사용하면 뚫기 쉽지 않을겁니다.
뚫리는건 보통 웹어플 단위에서 뚫리니 그건 PHP(리눅스) 나 ASP(윈도우즈) 나 시스템관리자 책임이라고 보기엔 거시기하죠.
"근데 막상 제
"근데 막상 제 주위에서 제가 직접 눈으로 발견하는 보안사고는 이상하게도 리눅스가 깔린 pc들이였습니다..."
==>
아마도 윈도우는 데스크탑으로 쓰는사람이 많고 리눅스는 서버로 쓰는사람이 많을겁니다.
혹은 리눅스를 데스크탑으로 쓰면서 온갖 서비스들 다띄워두고 열어두는사람들있죠.. 그러면 바로 공격당하죠.
뉴스나 이런것에서
뉴스나 이런것에서 말하는 보안은 바이러스나 맬웨어를 포함한 보안일걸요.
--
"It's too bad that stupidity isn't painful" - Anton LaVey
--
"It's too bad that stupidity isn't painful" - Anton LaVey
밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt
수학과 프로그래밍..
제 짧은 지식에 근거한 수학과의 관계는 다음과 같습니다.
공학적인 면을 제외한다면 프로그래밍은 단순히 알고리즘(문제 풀이 과정)을 표현하는 것이라고 생각하기 때문에 프로그래밍과 알고리즘을 같다고 가정하겠습니다.
(수학적 논리적 사고가 프로그래밍에 도움이 된다는 것은 이미 일반적으로 알려진 사실이므로 제외했습니다.)
우선 제가 말하고자 하는 요지를 간단히 말씀드리면 '알고리즘을 분석하거나 개발하는데는 수학이 요구된다' 입니다. 첫째로 어떤 알고리즘이 좋은지 평가하기 위한 다양한 분석방법들이 있습니다. 이를 잘 활용하기 위해 수학이 필요합니다. 또한 확률/통계 모델에 근거한 알고리즘들이 많습니다. 실시간으로 학습을 하고 확률에 근거해 예상을 하여 더 빨리 검색을 한다던지 등등.. 마지막으로 문제자체가 수학과 밀접하게 관련 있을 수 도 있지요. 수학적 지식을 통해 복잡한 문제 자체를 간단하게 만들 수 있는 경우도 있습니다.
제가 아는 수준으로는 이렇고요. 고수분들이 더 많은 댓글을 달아주실 꺼라 생각합니다.
저는 고수는 아니지만
타입 시스템은 집합을 프로그램으로 짠 것이죠. 집합 이론에 익숙할 수록 타입 시스템을 잘 다룰 가능성이 높아지지 않겠습니까? 마찬가지로 모듈이나 클래스 또한 집합 이론을 잘 안다면 더 잘 다룰 수 있겠죠.
대수 이론은 어떤 프로그램을 짜더라도 이론적 바탕을 마련해서 프로그램의 설계나 검증하는데 도움을 줄 수 있을겝니다.
기하학의 경우에는 실제로 GUI나 그래픽 프로그램을 짜는데 많은 도움이 되고 있고, 해석학은 푸리에 변환 같은 압축이나 암호화에 실제로 많이 이용되고 있습니다.
그래도, 수학을 모르는 초보 프로그래머가 위대한 수학자보다는 프로그래밍을 잘할겁니다. 프로그래밍이라는게 수학을 기반으로 한 학문이지, 수학에 포함된 학문은 아니니까요.
하지만, 수학을 기반으로 하는 만큼 어떤 시스템을 개발하거나 그 시스템의 이론적인 체계를 증명하려면 수학적인 센스가 없이는 힘든게 당연하다고 봅니다.
실제로 우리가 쓰는 언어의 모태가 된 포트란과 리습을 만든 사람들은 "프로그래머" 보다는 "수학자"에 가까운 사람들이죠.
------------------------------
How many legs does a dog have?
------------------------------
How many legs does a dog have?
옜날 생각나는군요...
약 2년전에 윈도우을 데스크탑으로 쓸적에는 남들의 안걸리는 최신형 바이러스
잘 걸리고 했었습니다...-_-;
저도 신기했었습니다...v3같은것도 깔아놓고 살았는데도 걸리더군요...
제 친구도 신기해 하더군요....대체 컴퓨터로 뭐하냐고 물어보더라구요..
그래서 저는 윈도우키면 무조건 explore 킨다고 했더랬습니다....(컴퓨터 끄는순간까지 켜놓고 살았습니다..)
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
리눅스는 바이러스는
리눅스는 바이러스는 없지만 외부 공격에 취약합니다. 새삼스러울 것은 없지만 리눅스를 단지 바이러스가 없으니 안전하다고 홍보하기에는 무리수가 많죠. 맥 오에스도 이건 마찬가지입니다. 적절한 방화벽 세팅을 해 주고 필요없는 서비스는 돌리지 않고 주기적인 보안 업데이트를 해 줘야 하는 것은 리눅스라고 예외가 아닙니다.
비스타는 안써봐서 모르겠는데 여전히 윈도우는 관리자 권한의 사용자가 malware를 모르고 더블클릭해서 설치하는 것이 가장 큰 위험입니다. 따라서 윈도우에서는 백신을 깔지 않을 수가 없죠.
이쪽의 지식이
이쪽의 지식이 희박해서 그런데... 일반 사용자가 "외부 공격을 받는다"고 하면 어떤 것들이 있나요?
서비스 끄지 않고 하는 쪽의 보안 이슈는 항상 기업 쪽에서 기사화되는데 일반 개인 유저로서는 솔직히 저런게 공감이 잘 안갑니다. 내 컴을 해킹한다고 뭔가 지위가 생기는 것도 아니고... 돈될만한 것들도 없고...
이 글을 읽고 나니 좀 궁금해 지긴 하네요. 리눅스를 사용하면서 생길 수 있는 것은 이를테면 어떤 이슈가 있는건지.
그것과는 별개로...
개인 컴퓨터 레벨로 내려오면 저런것보다는 아무래도 멜웨어 들로 인해 당장 시스템이 느려지거나 날아간다던가, 파일이 지워지거나 사용할 수 없게 된다거나, 자기 멋대로 메신저 메시지나 메일로 엉뚱한 파일을 배포하기 시작한다던가 하는 쪽이 압도적으로 더 많은 스포트라이트를 받게 되어서 개인적으로는 "안전하다" 고 홍보되는게 무리가 아니라고 보입니다만... 어차피 이런 식의 홍보는 상대적일수 밖에 없잖아요? 똑같이 열려 있으면 윈도우즈 쪽은 훨씬 더 홍역을 격하게 앓아야 하니 당연 맥이랑 리눅스가 안전하다는 말을 듣게 되는 수 밖에요.
--
"It's too bad that stupidity isn't painful" - Anton LaVey
--
"It's too bad that stupidity isn't painful" - Anton LaVey
밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt
외부 공격은 열려
외부 공격은 열려 있는 서비스를 통해 buffer overflow와 같은 공격으로 원격에서 root 권한을 따 내는 것을 의미하구요. cracking은 특정 컴퓨터가 타겟이라기 보다는 뚫고 싶다는 욕구가 강한 경우가 많습니다. 즉 script kiddie들은 저 컴퓨터를 뚫고 싶다기 보다는 어느 컴퓨터든 한번 뚫어보자는 심산이죠. 당연히 스크립트에 아이피 대역 적당히 걸어놓고 어디가 뚫리나 보기를 원할 겁니다.
같은 malware라도 유닉스 계열은 사용자 권한으로 실행시키니 당연히 시스템 차원에서는 윈도우보다 안전성이 높겠죠. 하지만 리눅스 배포본들이 처음에는 서버용도로 개발된 것들이 대부분이다보니 디폴트 세팅으로 설치해 보면 윈도우보다 돌아가는 서비스가 많습니다. 그런 까닭에 윈도우보다 원격 공격에 대한 신경을 더 써 줘야 할 필요가 있습니다.
.
API쪽 잠깐 언급을 하자면,
저도 고수가 아니라서 대답하기 거시기하지만..
대체로 문서화 되어있는 API목록을 구조적으로 함 훑어보고 이름보고 감이오면 자세히 보고요.
보다 문서화가 잘 되어있는 경우에는 API문서 보기 전에 예제부터 보고 감을 익힙니다.
저도 고수분들은 어떻게 하는지 궁금하네요.
제가 정말 잠시 있던 곳에서
50개 비IT 업체를 대상으로 조사를 해봤는데요
MS계열 보다 확실히 유닉스 계열의 운영체제에서 "관리자 소홀"로 문제가 발생하더군요-_-
관리자와 관리자 위에 있는 분들의 마인드가 중요합니다.
저도 중수조차 안되지만 API는 "아마 있겠지?" 라는 생각으로 찾아보면 있기에 별 무리 없었던거 같습니다.
그리고 SDK는 이름만 다르지 하는 일은 거의 같은 것들이 대부분이며 학부생때 교수님들의 갈굼으로 프로젝트를 하다보니 MSDN에서 WEB개발 파트는 거의다 외워진거 같습니다;;또한 주변에 연차기 되시는 분들도 원치 않게 머리속에 들어와 있는 것들이 많은것처럼 보입니다.-_-
API는 인텔리 센스가 있고요, 얼마나 좋은 툴을 잘 익혀서 쓰느냐도 중요한 능력입니다.
퇴근을 언제 하느냐와 직접적인 연관이 있지요 하하;;
프로그래머 다운 프로그래머가 되고 싶습니다. 많은 지도 편달 부탁드립니다^ ^
프로그래머 다운 프로그래머가 되고 싶습니다. 많은 지도 편달 부탁드립니다^^
인텔리센스는 보통
인텔리센스는 보통 자동완성이라고 하는 함수목록이나 매개변수등을 표시해주는 기능을 비쥬얼스튜디오에서 지칭하는 이름아닌가요? API와는 전혀 관계없는 걸텐데요...
혹시 제가 말한 인텔리센스와 다른 건가요...?
인텔리센스를
하지만 VA에 비하면 VS의 인텔리센스는 안습이죠.
아...좋을 툴을
아...좋을 툴을 익혀쓴다는게 그런 의미였군요.
VS만 썼을때도 꽤 편하다고 생각했었는데...VA는 써본적이 없어 한번 스샷을 보니 보기만해도 편해보이네요.