چگونگی افزایش امنیت شبکه با پایتون
افزایش امنیت شبکه با پایتون
پایتون یک زبان برنامه نویسی محبوب است که توسط گیدو ون روسوم پایه ریزی شده و در سال ۱۹۹۱ منتشر گردیده است. از جمله کاربردهای این زبان برنامه نویسی میتوان به توسعه وب، توسعه انواع نرم افزار، ریاضیات و کاربردهای مرتبط با آن و برنامه نویسی سیستم اشاره نمود. در ادامه در مورد امنیت شبکه با پایتون بیشتر صحبت میکنیم.
پایتون با سیستم عاملهای مختلف همخوانی دارد و کار میکند. نحوه نوشتاری کدهای آن مانند نوشتن زبان انگلیسی است. کدنویسی در آن به نسبت سایر زبانهای برنامهنویسی کمتر است. پایتون بر روی مفسر اجرا میشود یعنی با نوشتن کد به سرعت اجرا میشود و لذا سرعت اجرای برنامه به شدت بالا میباشد. پایتون زبان برنامه نویسی رویهای، شی گرا و عملکردی است. این موارد نیز بر کارایی پایتون افزوده است.
از پایتون میتوان در ایجاد برنامههای وب بر روی سرور استفاده نمود. همچنین برای ایجاد گردش کار در کنار نرم افزار نیز پایتون مفید است. پایتون به سیستم پایگاه داده متصل میشود و پروندهها و فایلها را خوانده و اصلاح میکند. پایتون زبان برنامه نویسی برای مدیریت دادههای بزرگ و انجام کارهای پیچیده ریاضی است.
در نهایت پایتون زبان برنامه نویسی قدرتمندی برای انجام سریع و توسعه نرم افزار است. با این ویژگیهایی که نام برده شد و کاربرد وسیع آن در وب، به یقین پایتون به منظور امنیت نیز در شبکه کاربرد وسیعی دارد. در ادامه در خصوص افزایش امنیت شبکه با پایتون صحبت خواهیم کرد.
چند دلیل بزرگ بر اهمیت پایتون برای امنیت شبکه
بدون شک برنامه نویسی بخش مهمی از امنیت شبکه در فضای سایبری است. به خصوص زمانی که در سطح متوسط یا پیشرفته به برنامه نویسی اقدام می نمایید. با توجه به این که سالهاست زبان برنامه نویسی پایتون تولید و منتشر شده است اما در سالهای اخیر این زبان برنامه نویسی واقعا مورد توجه متخصصان امنیت سایبری قرار گرفته است. این توجه به دلیل آن است که بررسی نمایند آیا امنیت شبکه با پایتون به نسبت سایر زبانهای برنامهنویسی مطلوبتر است یا خیر؟
اما بسیاری بر این مطلب اعتقاد دارند که افزایش امنیت شبکه با پایتون بسیار مطلوب است، زیرا بسیاری از توابع مرتبط با امنیت شبکه را اجرا میکند و در تجزیه و تحلیل بدافزار، اسکن و آزمایشهای نفوذ، استفاده از منحنی یادگیری و موارد بسیار دیگر به عنوان اولین زبانی است که یادگیری امنیت سایبری با آن توصیه میشود.
از سوی دیگر طراحی و عملکرد زبان برنامه نویسی پایتون مزایای بسیاری به آن داده که باعث می شود تا این زبان به یک زبان برنامه نویسی برای بسیاری از زمینه ها مانند علوم داده ،محاسبات ریاضی، توسعه وب و البته امنیت سایبری باشد. در اجرا نیز زبان برنامهنویسی پایتون بسیار مفید است
- پایتون یک زبان برنامه نویسی است که به راحتی آموخته میشود و برای نوشتن آن، حداقل کدنویسی لازم است.
- کشف خطاها توسط پایتون سادهتر از برخی از زبانهای برنامهنویسی دیگر است.
- زبان برنامهنویسی پایتون یک زبان منبع باز است.
- مدیریت حافظه توسط پایتون به صورت خودکار صورت میپذیرد.
اهمیت پایتون در امنیت شبکه
تمام این موارد کمک می کند تا درک بهتری از زبان برنامه نویسی پایتون داشته باشیم. حال به موارد اهمیت پایتون در امنیت شبکه اشاره می نماییم:
- کدنویسی سریع و اجرای سریع برنامه مورد علاقه خبرگان امنیت سایبری است که توسط پایتون قابل دستیابی است.
- تشکیل تیم امنیت شبکه با استفاده از زبان برنامه نویسی پایتون به سرعت انجام میشود. دلیل آن است که انعطافپذیری و سادگی پایتون به نسبت سایر زبانهای برنامه نویسی این امکان را فراهم میسازد.
- کتابخانه ارزشمند پایتون ابزاری است که امنیت شبکه را قابل دسترسی مینماید.
- زبان برنامه نویسی پایتون نزدیکترین چیزها برای امنیت شبکه را مورد استفاده قرار میدهد.
- در پایتون اسکریپتها به سرعت توسعه مییابند که این موضوع مورد توجه متخصصان امنیت شبکه است.
آموزش امنیت شبکه با پایتون
به عنوان یک متخصص کامپیوتر باید بدانیم که هک چگونه انجام می شود تا در مقابل مجرمان ایمن بمانیم. امکان دسترسی به سیستم و اطلاعاتی که در اختیار ما نیست از طریق فضای سایبری هک نام دارد. یعنی بدون مجوز به اطلاعات غیر خودی دست یابیم. هک اخلاقی مسیری است که با استفاده از نقاط ضعف سیستم یک سازمان مشخص می شود و به سازمان جهت رفع عیب گزارش میشود.
این نوشتار نیز به دنبال این موضوع از طریق پایتون است. از آنجایی که در مفهوم هک کردن، هم هک اخلاقی و هم غیر اخلاقی وجود دارد لذا آموزش امنیت شبکه با پایتون اهمیت مییابد.
ویدیو پییشنهادی : آموزش پایتون مکتب خونه
در ادامه با استفاده از زبان برنامه نویسی پایتون به هک کردن پسورد می پردازیم. اهمیت این موضوع آن است که انتخاب رمز ساده باعث خواهد شد تا به راحتی رمز از بین رمزهای مختلف در نظر گرفته شده استخراج شود. این نوع حمله را حمله کتابخانه ای می نامند. برای شناسایی باید به یک لیست از اطلاعات دسترسی داشته باشیم.
هک پسورد با پایتون
فرض کنید که فایل متنی شامل لیستی از پسوردها باشد که آن را password.txt می نامیم.
import hashlib
print("**************PASSWORD CRACKER ******************")
# To check if the password
# found or not.
pass_found = 0
input_hash = input("Enter the hashed password:")
pass_doc = input("\nEnter passwords filename including path(root / home/):")
try:
# trying to open the password file.
pass_file = open(pass_doc, 'r')
except:
print("Error:")
print(pass_doc, "is not found.\nPlease give the path of file correctly.")
quit()
# comparing the input_hash with the hashes
# of the words in password file,
# and finding password.
for word in pass_file:
# encoding the word into utf-8 format
enc_word = word.encode('utf-8')
# Hasing a word into md5 hash
hash_word = hashlib.md5(enc_word.strip())
# digesting that hash into a hexa decimal value
digest = hash_word.hexdigest()
if digest == input_hash:
# comparing hashes
print("Password found.\nThe password is:", word)
pass_found = 1
break
# if password is not found.
if not pass_found:
print("Password is not found in the", pass_doc, "file")
print('\n')
print("***************** Thank you **********************")
با استفاده از کد نوشته شده فوق، با ورود کد از طرف کاربر، رمز شناسایی میشود در غیر اینصورت خطا اعلام میشود. به عنوان مثال از کاربر خواسته میشود تا پسورد رمزگذاری شده را وارد نماید. سپس نام فایل وارد شود. با استفاده از دستورات نوشته شده، پسورد غیر رمز گذاری استخراج میشود. به دو مثال زیر توجه نمایید.
ورودی:
Enter the hashed password : ۰۶۱a01a98f80f415b1431236b62bb10b
Enter passwords filename including path(root/home/) : password.txt
خروجی:
Password found.
The password is : vivek
ورودی:
Enter the hashed password : aae039d6aa239cfc121357a825210fa3
Enter passwords filename including path(root/home/) : password.txt
خروجی:
Password found.
The password is : jessica
در این دو مثال مشخص شد که حتی اگر پسورد رمزگذاری شده داشته باشیم و دسترسی به منبع از طرق مختلف حاصل شود، رمزی که در پشت پرده وجود دارد و نمایش داده نمیشود، توسط زبان پایتون با کدگذاری ظاهر میشود. این نوع هک کردن در بسیاری از خریدهای اینترنتی ممکن است رخ دهد که باید در این خصوص بسیار دقیق بود. به دنبال آن نباشید که هک با پایتون را برای امور مخرب بیاموزید. هک با استفاده از پایتون برای افزایش امنیت شبکه طرفداران زیادی دارد.
آموزش تست نفوذ با پایتون
تست نفوذ به عنوان تلاش برای ارزیابی امنیت یک زیر ساخت IT به وسیله شبیه سازی حمله سایبری علیه سیستم رایانه ای به منظور پیشگیری از آسیبهای محتمل، تعریف میشود. در ادامه اشاره میشود که بین تست نفوذ و اسکن آسیبپذیری سیستم تفاوت وجود دارد.
اسکن آسیب پذیری سیستم به سادگی به شناسایی آسیب پذیریها میپردازد اما آزمایش نفوذ تلاشی برای بهرهبرداری از آسیبپذیریها است.
آزمایش نفوذ کمک میکند تا دسترسی غیرمجاز یا فعالیت مخرب ممکن دیگر در سیستم را اندازهگیری و شناسایی نمایید. تست نفوذ برای سرورها، برنامه وب، شبکههای بیسیم، دستگاههای تلفن همراه و هر نقطه احتمالی دیگر در معرض استفاده از فناوریهای دستی یا خودکار مورد استفاده است. در این قسمت یک بخش از زبان پایتون را برای ایجاد اسکنر پورت ساده با استفاده از سوکت در پایتون کدنویسی میکنیم. به این اسکریپت پایتون توجه نمایید.
from socket import *
import time
startTime = time.time()
if __name__ == '__main__':
target = input('Enter the host to be scanned: ')
t_IP = gethostbyname(target)
print ('Starting scan on host: ', t_IP)
for i in range(50, 500):
s = socket(AF_INET, SOCK_STREAM)
conn = s.connect_ex((t_IP, i))
if(conn == 0) :
print ('Port %d: OPEN' % (i,))
s.close()
print('Time taken:', time.time() - startTime)
خروجی این اسکریپت به صورت زیر خواهد بود:
Enter the host to be scanned: localhost
Starting scan on host: 127.0.0.1
Port 135: OPEN
Port 445: OPEN
Time taken: 452.3990001678467
خروجیها نشان می دهد که در محدوده ۵۰ تا ۵۰۰، اسکنر پورت به شناسایی دو پورت ۱۳۵ و ۴۴۵ که باز بودهاند را انجام داده است. اگر محدوده را تغییر دهیم، پورتهای دیگر نیز شناسایی خواهند شد.
این کد یک بخش کوچک از تست نفوذ با استفاده از زبان پایتون بوده است. به یقین تست نفوذ برای شبکه و پورتهای مختلف و انواع ورودیها با کدها و خروجیهای مختلفی نوشته خواهد شد. با این کدنویسی امنیت شبکه با پایتون تامین خواهد شد. در متنهای بعدی به این کدهای برنامه نویسی جهت بررسی تست نفوذ با پایتون اشاراتی خواهد شد.
سلام میشه در مورد نوشتن کد برای یکیداز روشهای تشخیص نفوذ راهنمایی کنین