දැනට තිබෙන පාඩම්...

Friday, April 14, 2017

Information Security ගැන ඔබ දන්නේ මොනවාද? - 1 පාඩම

සෑහෙන කාලෙකට පස්සේ තවත් අලුත් මාතෘකාවක් ගැන කථා කරන්න හිතුවා. ඒ තමයි තොරතුරු අාරක්ෂණය ගැන.
මුලින්ම කියන්න ඔින පහුගිය අවුරුදු ගානටම ඒච්ච්ර කථාවට ලක්වුන මාතෘකාවක් නෙමෙයි මේක. ඒත් තමන්ගේ තොරතුරු වල පෞද්ගලිකත්වය නැති වෙලා ඒ දේවල් පොදු මාධ්‍ය වලට නිරාවරණය වෙන්න පටන් ගත්තම මිනිස්සු හිතන්න පටන් ගත්තා තමන්ගේ privacy  නැත්නම් පෞද්ගලිකත්වයට මේ වෙන්නේ මොකක්ද කියලා...
ඒත් අන්තිමට 2001 වෙනකොට ලෝකයේ ප්‍රධාන අායතන වලින් 85%ක්ම අාරක්ෂක බිදවැටීමක් නැත්නම් Security Breach කියන සංසිද්ධිය අත්විදලා තිබ්බා තනි වසරක් අැතුලත. මේ බිද වැටීම් නිසා 64% අායතන මූල්‍යමය පාඩු විදිමින් තමයි උන්නේ...
මේ 2001 තත්වේ. නමුත් අද වෙද්දි තත්වය ගැන අමුතුවෙන් කියන්න ඔින නෑනේ. අද වෙනකොට පරිගණක අපරාධ සාමාන්‍යකරණය වෙලා.

මේ තත්වය නිසාම තොරතුරු අාරක්ෂණය කියන වෘත්තිය කරළියට අැවිත් තියෙනවා. ප්‍රධාන තණතුරු කිහිපයක් හදුනගන්න පුලුවන් මේ විදියට.

  • Chief Information Security Officer 
  • Security Architects
  • Security Consultants
  • Security Engineers
  • Security Administrators
  • Security Auditors
  • Penetration Testers(Ethical Hackers)
  • Law Enforcement and Legal Officers.
මේ වෘත්තීන් සමගම ඒ වෘත්තිකයන්ගේ දැනුම බෙදාගන්න, ඒ අයව පුහුණු කරන්න, ඔවුන්ට අවශ්‍ය ප්‍රමිතිකරණයන් සපයන්න සංවිධාන බිහිවුනා.
  • (ISC)2 - International Information Systems Security Certification Consortium
  • ISSA - Information Systems Security Association
  • CERT - Computer Emergency Response Team
(ISC)2 අය තොරතුරු අාරක්ෂණය සම්බන්ධ සියලුම තොරතුරු CBK නැත්නම් Common Body of Knowledge විදියට වර්ගීකරණය කළා. මේ වර්ගීකරණය ලොව සියලුම තොරතුරු තාක්ෂණ වෘත්තීන් විසින් පිළිගනු ලැබුවා. CBK ප්‍රධාන domain 10ක් පවතිනවා.
  1. Information Security Management
  2. Access Control Systems and Methodology
  3. Physical Security
  4. Telecommunication and Network Security
  5. Cryptography
  6. Information Security Architecture and Models
  7. Business Continuity Planning and Disaster Recovery
  8. Software Development Security
  9. Operational Security
  10. Law, Investigation and Ethics
Secure Software නිර්මාණය කිරීමේදී සැලකිලිමත් විය යුතු කරුණු මොනවාද?
  • අාරක්ෂාවද මෘදුකාංගයේ ප්‍රධාන කොටසක් කියලා මතකයේ තියෙන්න ඔින.
  • Testing හා Auditing
  • Secure Software හදන ක්‍රමය නිතරම අමාරු ක්‍රියාවලියක් වෙන්නේ අැයි කියන කාරණාව.
  • ඒවාගෙ Risk අඩු කරන්න යොදලා තියෙන උපක්‍රම මාෙනවාද? - Threat Model
  • පද්ධතියක අනෙක් කොටස් වලින් අාරක්ෂාවට යොදාගන්න වැදගත් කොටස් වෙන් කරලා තබාගැනීම
අනතුරු තක්සේරුව - මේකට අපි කියනවා අනතුරු හදුනාගැනීම කියලත්
  • අදුනගන්නවා - අාරක්ෂා විය යුත්තේ මොනවාද?  කාගෙන්ද?  කොපමණ කාලයකටද? අාරක්ෂණයේ වටිනාකම කොපමණක්ද? කොපමණ හදිසියිද?
  • නිවැරදි මෘදුකාංග ඉංජිනේරු ක්‍රම භාවිතා වෙනවාද?
අාරක්ෂක පියවර
  • Buffer Overflows වගේ සාමාන්‍ය ගැටලු උද්ගතවීම වලක්වාගන්න ඔින
  • Attacks වලින් recover  වීමේ හැකියාවක් තියෙන්න ඔින. - Security අදාල වන අවස්ථා වල Traceability හා Auditing කරගැනීම
  • Monitoring - Attack වුනාට පස්සේ වුන දේ මුළුමනින්ම සොයාගැනීමේ හැකියාවක් තිබීම
  • Privacy, Confidentiality, Anonymity - දත්තවල රහස්‍යභාවය සුරකින්න පුලුවන් විය යුතුයි
  • Authenticity - Control  කිරීමට බලතල ලැබී පැවතිය යුතුයි
  • Integrity - අනවශ්‍ය විදියට නවීකරණය වීම් වලින් වැලකිය යුතුයි
  • Availability හා Reliability - DoS නැත්නම් Denial of Service attacks වල අවදානම පහත හෙලීම 
  1. දුර්වලම මාර්ගය අාරක්ෂා කරන්න - පහරදෙන්නන් මුලින්ම බලන්නේ පහසුම මාර්ගය. මේක අදුරගන්නෙ කොහොමද?  දුර්වලම මාර්ගය කියන්නේ මෘදුකාංග ප්‍රශ්නයක් නෙවෙයි. ඒ මාර්ගය පද්ධතියේ සාමාන්‍ය කොටසක් වෙන්න පුලුවන්.
  2. අාරක්ෂක උපක්‍රමය අනිවාර්යයෙන්ම ගැඹුරු විය යුතුයි - තනි අාරක්ෂාවකට වැඩිය පියවර කිහිපයක අාරක්ෂාවක් බිදීමට අපහසුයි ඒ වගේම කාලය ගත වෙනවා.
  3. අාරක්ෂා බිදවැටීම් - අති සංකීර්ණ පද්ධති ඉතා ඉක්මණින් බිද වැටෙනවා. ඒකට යම් පිලියමක් තියෙන්න ඔින. ගැටලුවක් හම්බුනු ගමන් පද්ධතිය නැවැත්වීම හෝ බිද දැමීම හොදයි. ඊට හේතුව වෙන්නේ පද්ධතිය continue වීම තව ප්‍රශ්න වලට හේතු වෙන්න පුලුවන් නිසා. සාමාන්‍යයෙන් හොද මෘදුකාංග සැලැස්මකට පුලුවන් බිද වැටීම් කළමනාකරණය කරගන්න තමන් විසින්ම.  exceptions handling වගේ දේවල්.
  4. ඔිනවට වඩා ඔින නෑ - පද්ධතියකට ඒකෙන් කළ යුතු දේවල් වලට වඩා දේවල් ලබාදිය යුතු නෑ. යම් පද්ධතියකට පැවරී අැති කාර්යයන් ඉටුකරන්න ලබා දිය යුතු සම්පත් ලබාදිය යුතුමයි. නමුත් සීමාවකින් තොරව නෙවෙයි. අපි මේකට කියනවා Principles of least Privilege කියලා
  5. වැඩ අංශ වලට පවරන්න - අංශ වලට කැඩීම නැත්නම් අපි කියනවා modularity වැදගත් වෙනවා ගැටලුවක් අාවට පස්සේ ඒක නිවැරදිව අදුනගන්න. රාජකාරි බෙදී යාමක් කියලා සලකන්නත් පුලුවන්. මේකට ගන්න පුලුවන් සාර්ථකම උදාහරණය තමයි බැංකුවක ගිණුම් පරීක්ෂක කෙනාට cashierගේ චෙක් පත් නිකුත් කරන්න බැහැ. මේකෙදි මේ අංශ 2ම සම්බන්ධ වෙලා තිබ්බානම් යම් අංශයක බිද වැටීමක් අනෙක් අංශයට ඝෘජුවම බලපාන්න තිබුනා.
  6. සරළ කරන්න - සංකීර්ණත්වය තමයි පොඩි පොඩි bugs වලට හේතු වෙන්නෙත්. ඔිනෑම පද්ධතියක default configuration අනිවාර්යයෙන්ම ප්‍රවේශම් විය යුතුමයි. 
  7. පෞද්ගලිකත්වයට මුල්තැන - තොරතුරු අනවශ්‍ය පරිදි නිකුත් කිරීමෙන් වැලකිය යුතුයි අනිවාර්යයෙන්ම. Credit card information වගේ තියෙන තැන්වල විශ්වාසනීයත්වය අනිවාර්යයෙන්ම සුරැකිය යුතුමයි. 
  8. රහස් රැකීම - රහසක් විශාල වෙන තරමට ඒක රැකගන්න අමාරුයි.  ඒ නිසා රහසිගත තොරතුරු සියල්ලම කවදාවත් තනි තැනක රැදවීම නුවනට හුරු නැත්තේ.
  9. හැම තිස්සේම සැක කරන්න - පද්ධතියක් අාරක්ෂිත වෙන්නනම් ඒකෙ අංශ සියල්ලම ක්‍රියාත්මක විය යුතුයි. නිතරම සැකයෙන් වැඩකරන්න. කේතයන් ඔබ ලියන ලද්දක් වුවත් බාහිරින් ලබාගත්තක් වුවත් නිතරම කේතයේ ප්‍රමිතිය පිළිබද සැලකිලිමත් වන්න.
  10. සමාජ භාවිතයෙන් ප්‍රයෝජන ලබාගන්න - මෘදුකාංග ඉංජිනේරුවන් අාරක්ෂක විශේෂඥයන් නොවේ. තමන් අතින් නිර්මාණය වන කේතයකට වඩා සමාජ සම්මත නිවැරදි කේතයක් භාවිතය හොද විය හැකියි.
අද පාඩමෙන් කථා කරන්න හිතුවෙ අාරක්ෂාව ගැන පොඩි කොටසක්. මේ ගැන තව තොරතුරු ඉදිරියට කථා කරමු අපි...

No comments:

Post a Comment

What is PowerShell -1

PowerShell mainly using by system administrators and system engineers to their daily work.  This task based command line mainly created by ...