[개발자의 취향] 모니터….

DdON1MjU0AE_uxE.jpg

필자가 대학원 시절에 썼던 환경이다. 필자는 자잘(?) 한 모니터를 여럿 쓰는 걸 좋아한다. 집에서도 모니터는 트리플 이상으로 쓰고 있고, 노트북에도 아이패드로 듀엣(duet)을 이용하여 모니터로 쓰는 걸 좋아한다. 그래서 한 화면에는 소스코드, 한 화면에는 디버그 출력, 한 화면에는 실행 결과와 검색 화면, 한 화면에는 메신저(와 트위터)…

그런데 그냥 모니터 큰거 하나나 둘만 있어도 충분하다는 사람도 있다. 큰 모니터 + 큰 해상도로 많은 글자와 화면이 한번에 표현되는 걸 좋아하는 사람들이다.

그렇다.

모니터도 취향 탄다.

개발자들은 색감이니 뭐니 하는 거 그닥 잘 안따진다. 단, 글씨 잘 보이는 거에 대해서는 진짜 따진다. 사실 그게 직업상 제일 중요한 것이기도 하고 해서 뭐…

필자는 작은 글자를 잘 안보려고 한다. 그래서 폰트도 주로 14포인트로 맞춰서 쓰기도 한다. 그러면 스크롤 하고 할 일이 늘어나지만 애당초 코드 길이가 그렇게 길게 막 짜는 스타일도 아니라 알아서 잘 적응해서 쓰는 편이다. 반면에 그냥 있는 그대로의 폰트 크기만 해도 충분한 사람들은 그냥 잘, 그리고 많이 표현되는 걸 좋아한다. 그리고 그대로 실행 화면에서 바로바로 띄워지고 오류 나는 코드 줄이 바로 보이고 하는 그런 것을 좋아한다.

사실 이것도 진짜 정답은 없다. 필자처럼 그냥 코드랑 검색 결과랑 디버그 화면이 막 널부러져 있어야 하는 사람은 여러 모니터를 잘 쓰는 것이고, 널부러져 있어도 그냥 한 화면에서 열심히 뒤적거리면서 찾거나 배치 잘 해서 이용하는 사람도 있는 것이니깐…..ㅇㅂㅇ

Advertisements

[개발자의 취향] 키보드…

개발자의 취향으로 전에 에디터 화면에 대해서 잠깐 딴 소리를 적은 적이 있는데…

오늘은 그 2탄이다. ㅇㅂㅇ;;;

그 주제는 바로 키보드.

키보드는 사실 좀 여러모로 웃긴 환경이 지속적으로 발생하다 보니깐 적으면 안된다는 생각도 있었는데… 그래도 좀 적어보려 한다.

내가 미국을 가보면 거기선 또 어떤 환경을 볼 지는 모르겠지만 일단 지금의 한국 개발자들은 키보드를 한번 쯤은 꼭 갈고 시작했을 것이다.

그냥 일반적으로 쓰는 멤브레인 쓰다가 어느샌가 기계식 키보드가 확 유행하면서 다들 하나 둘 바꿔보고, 그리고 나서 사무실에서도 개인 용품으로 소소하게 행복함을 느끼려 하거나 뭣같은 상사의 엿소리를 듣지 않기 위해 일부러 키보드 소음을 만들기 위해 이용한다던가(?!) 하는 등 여러 이유로 인해서 기계식 키보드를 한번 거치고 했을 것이다.

근데 그것도 나중에 보면 그냥 취향이 되는 거 같다.

그대로 기계식 키보드 매니아가 되어서 여러모로 써보고 나한테 좋은 게 뭔지 찾아보는 사람도 있는 가 하는 반면 그냥 멤브레인보단 좀 더 좋은데 뭐 일단 샀으니 쓰자 하는 사람들도 있을 것이고, 기왕 가는 거 무접점까지 간다! 하는 사람도 있을 것이다. ㅇㅂㅇ;;;

그런 걸 보면서 “과거에는 키보드를 기계장치로 생각해서 만들었던 것을 기술이 발전해서 맴브레인으로 넘어왔더니 다시 과거 향수에 젖어서 기계식을 찾는 꼴”이라면서 비판하는 사람도 있다.

이것도 진짜 답은 없기는 매한가지는 하다…

New Game! - 11 (BD 1280x720 x264 AAC).mp4_20180515_154846.122.jpg

실계 사례…..는 너무 많고, 모 유명한 애니에서도 잘 살펴보면 특정 개발자분의 키보드가 다른 사람들과 다르다는 걸 알 수 있다. (심지어 소리도 다르다.)

단, 매너는 있게 행동해야 한다는 걸 보여주는 것이 키보드 같다. 바로 키보드 소음 때문인데, 청축을 사무실에서 아무렇게나 쓰는 건 다들 안하려고 하는 분위기인데도 불구하고 멋대로 쓰고 하는 건 좋지 않다. 진짜 싫은 상사 엿먹이려고 소음 만드는 케이스가 아니라면…ㅇㅅㅇ;;;

마지막으로, 입력장치 명가나 컴퓨터 기계를 잘 만드는 특정 회사들의 맴브레인은 뭔가 다르긴 다르다. 델이나 HP 등에서 나오는 맴브레인은 각자의 특색이 있는 데다가 은근 오래 쓸 수 있게 나오기도 하고, 로지텍도 나름 입력장치로 유명한 곳이어서 그런지 잘 나온다. 마소는 인체공학 키보드를 한참 연구하고 했던 곳이어서 그런지 여기저기 입력 느낌이 다르게 해서 오래 타자를 쳐도 문제 없는 느낌으로 만들기도 하고…

…쓰고보니 또 잡소리네.

뭐, 이것도 취향이다.

소스코드 공개를 보안땜에 감시해야 한다고 떠드는 보안뉴스…

늬들은 개발에 대한 이야기를 쓸 자격이 없다라고 먼저 이야기하고 싶다.

아니, 좀 더 정확하게 이야기하면 보안에 대한 이해 자체가 낮은 것들이 보안뉴스를 한다고?

아침에 이 기사 내용 보고 진짜 어이없어서 멍때렸다. 깃허브에 보안 취약한 부분이 발견되어 공격당하나 하는 그런 소리인 줄 알고 클릭했는데 거기 올라가 있는 소스코드는 지적 재산권 올려놓은 거랑 같은 수준이라는 소리에 더불어서 회사 코드를 공개한다는 것에서 여러모로 취약점이 드러난다는 소리… 거기에 로그인 크리덴셜이 공개된다는 소리….

아 ㅆ….

그럼 리눅스도 커널 소스코드 공개 되어있으니깐 쓰면 안되겠네?

gcc 왜 씀?

오픈소스 프로젝트들은 그럼 전부 보안 취약한 거니깐 쓰면 안된다는 거냐?

…………………

늬들은 KISA 사건 수준으로 병신 레벨을 인증했다.

사실 기사에 보면 몇 가지 이유에 대해서 여러모로 적어놨는데 이 내용에 대해서 하나 하나 파해치기로 하자.

이유 1) 소스코드가 풍부하다. 말이 좋아 소스코드 공유 사이트지 사실은 지적재산이 공유된다고 표현해도 무리가 없다. 그 자체로도 해커들이 훔치기 좋아하는 아이템들인데, 다양한 소스코드를 빌려 멀웨어들을 빠르게 개발할 수도 있다. 시간이 절약되고, 공격 기획이나 사전 정찰과 같은 작업에 더 많은 자원을 투자할 수 있게 된다.

답변 1) ….. 오픈 소스를 이용한 개발은 요즘 다 이런 식이다. 그리고 요즘의 개발 트랜드도 전부 이런 식이다. 단순하게 이용할 수 있는 부분은 그냥 떠도는 수준까진 막 복붙으로 가도 문제 없다. 진짜 핵심적인 부분을 직접 개발해야 하기 때문에 개발이 어려워지는 것이다. 그리고 그에 대해서 “노하우”를 공개하기 위해 코드를 공개하는 거지 코드를 다 까는 게 아니다. 그리고 그거야 당연히 해커들이 아이템 만들어 쓰는 데도 마찬가지다. 그들 또한 밑바탕은 개발자다.

이걸 부정하는 건 아무것도 안통하는 곳에서 그냥 시디로 툴 깔고 쓰고 해야 했던 시절의 이야기이다. 아니, 시디도 없던 시절의 이야기일꺼다.

이유 2) 또 다른 공격 표면이 된다. 소스코드를 훔치거나 가져다 쓰지 않고도, 개발 과정을 주시하면서 해당 소프트웨어 혹은 애플리케이션에 대한 특징 및 취약점을 미리 간파할 수 있다. 그리고 나중에 프로젝트가 끝나고 정식 앱이 되었을 때, 남들이 모르는 공격 루트를 확보할 수 있게 된다. 코드를 중간중간 가져다가 남몰래 여러 공격 실험을 진행할 수도 있다.

답변 2) 그 정보를 공유해서 보안을 강화하고자 하는 것이 보안 아닌가? 그러기 위해 공개하는 거다. 악용하는 건 그 자체로 사회적인 범죄가 되는 것이지 그걸 기술 테스트로 하여 모의로 해킹해서 그 정보를 공유하고 하면 보안 강화 아닌가? 그리고 그런 걸 위해서 소스 공개하는 수많은 프로젝트들은 그럼 전부 보안이 약하다고 하는거냐? 그럼 리눅스 왜 쓰냐? 리눅스 커널 기반의 운영체제들은 전부 보안 취약한 거네? 왜 써? 니들 안드로이드 다 갖다 버려라?

이건 진짜로 오픈소스 운동 초~~~창기에 나오던 보안 취약에 대한 이야기 그대로를 가져온 병신 의견이다. 이걸 말했다는 거 자체는 진짜로 IT랑 개발 아무것도 모른다고 인증한 것이다.

이유 3) 로그인 크리덴셜도 많다. 실제로 자주 일어나는 일인데, 깃허브에서 개발되는 코드와 파일들 내에는 로그인 정보가 담겨 있기도 하다. 아마존의 AWS와 연계된 앱을 만들 때 개발자가 실수로 자기 계정 로그인을 코드에 그대로 넣어놓는 일이 왕왕 발생한다. 해커들도 이를 알고, 코드에 접근해 로그인 크리덴셜이 있을만한 부분을 검색한다. 또한 훔쳐낸 크리덴셜을 가지고 추가 범죄를 저지르기도 한다.

답변 3) 내가 화 덜 내는 이유다. 로그인 크리덴셜의 경우에는 개발자들이 스스로 밖으로 새지 않도록 관리하는 것이다. 근데 이들은 소스코드를 공개하는 입장에서도 중요하게 이용되는 내용이다. 대부분의 오픈소스 코드에 보면 DB, 클라우드에 접속하는 부분에 대해서는 별도의 설정 코드 파일을 만들고,  그곳에서 별도의 입력을 관리하도록 되어 있다. 그렇지 않은 코드들은 그런 부분에 소홀한 부분이다. 조금이나마 신경쓰고 하는 사람들이라면 당연하게 대처하고 있는 부분인데 그 부분을 놓치고 있는 사람들은 보안에 대해서 알려야 한다. (깔 곳 없는 내용이다.)

이유 4) 인증되지 않은 접근이 가능하다. 개발자들은 많은 경우 회사 내 주요 서버나 데이터로 무제한 접근이 가능하다. 자기 개인 메일 계정을 가지고 회사에 접속하기도 하는데, 이러한 메일 주소만 해커가 획득하게 되어도, 회사 전체가 크게 취약해지는 것이나 다름없다. 심지어 개발자에게는 지나치게 많은 데이터로의 접근을 허용하는 회사가 대다수인데, 그 개발자가 깃허브를 즐겨 사용한다면 다시 생각해볼 필요가 있다.

답변 4) …….그냥 그 사람 대신 해커가 들어가서 그 사람인 척 하면서 살면 회사의 모든 걸 전부 다 해킹할 수 있는데…?  회사 단위로 오픈소스를 하게 되면 당연히 그 회사의 전용 이메일이나 어카운트를 이용하겠지 그걸 개인껄 이용하게 한다고? 얼마나 허접한 보안 레벨의 회사냐? 최소한 업무 메일이랑 개인 메일 구별 정도도 못한다고? 후………….

이유 5) 내부자 위협을 감추기에 편리하다. 깃허브가 제대로 된 모니터링을 받고 있지 않아서 생기는 문제인데, 깃허브에서는 얼마든지 개발자 혹은 악성 내부자가 활개를 칠 수 있다. 예를 들어 한 사람이 수십 개의 코드 리포지토리에 자꾸만 접속한다면, 수상하게 생각할 수 있어야 하는데, 애초에 회사가 깃허브를 모니터링하고 있지 않으니 이런 ‘명백히 수상한 행위’도 적발되지 않는다.

답변 5) 이건 진짜 깃허브 뿐만 아니라 오픈소스 프로젝트들을 참고하려고 하는 행위를 단 한번도 안해본 사람들의 이야기다….

달면서도 열이 받는다. 오픈소스 프로젝트들에 대한 이해 자체가 없으니 코드 공유 == 보안 취약성 이라고 이어지는 그런 수준으로 이어진다.

이렇게 내가 일일이 달았는데도… 기사 내용에 뒤에 보면 이에 대한 해결책이 있다고 하면서 내가 까는 걸 이상하게 여기는 분들이 있을 텐데…

그 내용도 보면 그냥 코드 꽁꽁 감싸라 이거다. 권한 제어 관리하고 아이디 관리하고 로그 수집하라 이거다…

그거 안하는 회사가 어딧냐 병신들아!!!!

Kingsman.The.Secret.Service.UNCUT.2014.720p.BluRay.x264.DTS-SODiHD.mkv_20180504_142302.195Kingsman.The.Secret.Service.UNCUT.2014.720p.BluRay.x264.DTS-SODiHD.mkv_20180504_142303.856

그럴 꺼면 코딩도 전부 손으로 하고나서 나중에 타자로 치라고 하지 그러냐? 천공카드를 부활하자고 하지 그래?

….병신 지랄도 이정도면 쌈박한 수준이다.