رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

محققان یکبار دیگر عدم امنیت قفل های الگوی صفحه اندروید را به اثبات رساندند


پست های پیشنهاد شده

محققان اخیراً راه تازه ای برای دسترسی به محتویات موبایل هایی که از قفل های مبتنی بر الگوهای تصویری بهره مند هستند یافته اند. با استفاده از یک الگوریتم دید کامپیوتری، امکان دنبال کردن حرکات انگشت کاربر روی نمایشگر دستگاه مهیا می شود و بعد از آن، یک نرم افزار می تواند الگوی تعیین شده برای قفل دستگاه را در کمتر از 5 تلاش تشخیص دهد.

قفل های مبتنی بر الگو، معمولاً از نقاط مشخصی روی نمایشگر بهره می برند که کاربر با متصل کردن آنها به یکدیگر به روشی منحصر به فرد، می تواند به موبایل خود دسترسی داشته باشد. این متود، محبوبیت بسیار زیادی دارد و تخمین زده شده که 40 درصد از کاربران اندرویدی به جای بهره گیری از PIN یا رمز عبور، به استفاده از آن روی آورده اند.

نتایج تحقیق اخیر طی همکاری مشترکی میان دانشگاه لنکستر، دانشگاه بث و دانشگاه نورث وست چین به دست آمده که از موبایل های هوشمند کاربران هنگام کشیدن الگو برای باز کردن قفل دستگاه فیلم برداری کرده اند.

محققان با آزمایش 120 الگوی منحصر به فرد که توسط 215 کاربر ایجاد شده بودند، پی بردند که نرم افزار مورد اشاره می تواند در 95 درصد از مواقع، الگو را در کمتر از 5 تلاش تشخیص دهد. گفته می شود که این روند، حتی هنگامی که دوربین قادر به مشاهده نمایشگر دستگاه نیست نیز عمل می کند. ضمناً نکته جالب اینجاست که هرچه الگوها پیچیده تر می شوند، تشخیص آنها با سهولت بیشتری صورت می گیرد.

اکثر کاربران اندرویدی از امنیت پایین تر الگوها نسبت به پین کدها و رمزهای عبور آگاهی دارند و این مسئله، هنگام انتخاب روش قفل دستگاه نیز به آنها یادآوری می شود. علاوه بر این، استفاده از دوربین و نرم افزاری برای تشخیص الگوها، ممکن است اندکی پیچیده به نظر می رسد، چرا که گاهی امکان مشاهده پنهانی الگو کاربر و به خاطر سپردن آن نیز وجود دارد؛ با این همه محققان همواره به دنبال کشف آسیب پذیری های قفل امنیتی دستگاه های اندرویدی بوده اند.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط Meraj-ap
      با سلام و عرض ادب بنده کارشناس محصولات امنیتی شرکت آشناایمن هستم؛
      با توجه به حیطه فعالیت توسعه دهندگان  و دغدغه های امنیتی توسعه اپلیکیشن های موبایل، باعث افتخار خواهد بود که لایسنس های امن ساز شرکت معتبر گارداسکویر، که نمایندگی انحصاری آن را شرکت آشناایمن در ایران برعهده دارد را خدمتتان معرفی کنم. شرکت گارداسکویر، توسعه دهنده ابزار رایگان پروگارد، نسخه های تجاری ابزار خود را تحت عناوین DexGuard و iXGuard ویژه پلتفرم های android و iOS عرضه می نماید. این ابزارها با ویژگی های امنیتی متعدد خود، از جمله مبهم سازی کد، اپلیکیشن شما را در برابر آسیب پذیری های ایستا و پویا مصون خواهند نمود اطلاعات بیشتر در لینک های زیر قابل دسترس می باشد : 
      https://www.ashnasecure.com/dexguard/?utm_source=Li&utm_campaign=dm_g&utm_medium=2021
       
      https://www.ashnasecure.com/ixguard/?utm_source=Li&utm_campaign=dm_g&utm_medium=2021
      شایان ذکر است تاکنون شرکت آشناایمن موفق به تامین لایسنس برای اپلیکیشن های متعدد (از جمله: همراه بانک ها، اپلیکیشن های پرداخت، کتابخانه های پرداخت و بانکی، رمزسازها و...) گردیده و مشتاق به رفع نیازمندی سازمان ها و کسب و کارهای بزرگ و کوچک می باشد.🙂🙏
      DexGuard-iXGuard Catalogue.pdf
    • توسط aliazmoodeh
      سلام من یه آپی دارم یه قسمت وجود داره که اطلاعات رو از سرور میگیره و تو ریسایکلرویو نمایش میده من میخوام این اطلاعات رو تو حالت افلاین هم داشته باشم یعنی چی یعنی بتونم اطلاعاتی که از سرور گرفتم قبلا رو وقتی کاربر اینترنت بهش نمایش بدم دقیقن مثله تلگرام میگم ولی نمیدونم باید چیکار کنم اگر اموزشی در این رابط دارید بهم بگید یا سورسی دارید بهم بگید پولی یا رایگان باشه برام فرقی نمیکنه فقط میخوام مشکلمو حل کنه
    • توسط Zeynab Tri
      سلام. دوستان بنده یک عدد تازه کار در برنامه نویسی اندروید هستم و نمیدونم این ارور رو چطور حل کنم. ممنون میشم اگر کسی میتونه من رو راهنمایی کنه.عکسش رو گذاشتم.

    • توسط moein123
      سلام دوستان خوبین؟
      من برای آپ خودم ثبتنام و لاگین دارم میسازم
      ثبتنام کاربر به خوبی کار میکنه و مشکلی نداره
      ولی برای لاگین کردن نمیدونم چرا کار نمیکنه
      پیغام خطا هم نمیده
      ببینین این کد سمت سروری که نوشتم
      <?php if($_SERVER['REQUEST_METHOD']=='POST'){ $mail2=$_POST['mail']; $password=$_POST['pass']; require_once 'connect.php'; $sql = "SELECT * FROM register WHERE mail='$mail2' "; $response=mysqli_query($conn,$sql); $result=array(); $result['login']=array(); if(mysqli_num_rows($response)===1){ $row=mysqli_fetch_assoc($response); if(password_verify($password,$row['pass'])){ $index['name']=$row['name']; $index['mail']=$row['mail']; array_push($result['login'],$index); $result['okk']='1'; $result['message']='okk'; echo json_encode($result); mysqli_close($conn); }else{ $result['okk']='0'; $result['message']='error'; echo json_encode($result); mysqli_close($conn); } } } ?> و اینم کد های جاوای اندروید که نوشتم
      package com.android.register1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.print.PageRange; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.Toast; import com.android.volley.AuthFailureError; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.google.android.material.snackbar.Snackbar; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class loginn extends AppCompatActivity { EditText edt_username,edt_password_login; Button btn_login; ProgressBar my_progcess; static String url_login="http://192.168.1.103/register2/login.php"; LinearLayout my_manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_loginn); find_all(); } private void find_all() { edt_username=findViewById(R.id.edt_username); edt_password_login=findViewById(R.id.edt_pass_login); my_progcess=findViewById(R.id.my_progcess_login); btn_login=findViewById(R.id.btn_login); my_manager=findViewById(R.id.my_manager); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String musername=edt_username.getText().toString().trim(); String mpassword=edt_password_login.getText().toString().trim(); if(!musername.isEmpty() || !mpassword.isEmpty()){ my_login(musername,mpassword); }else { edt_username.setError("username"); edt_password_login.setError("password"); } } }); } public void my_login(final String mail,final String pass){ my_progcess.setVisibility(View.VISIBLE); btn_login.setVisibility(View.GONE); StringRequest request=new StringRequest(Request.Method.POST, url_login, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsonObject=new JSONObject(response); String message=jsonObject.getString("okk"); JSONArray jsonArray=jsonObject.getJSONArray("login"); if(message.equals("1")){ for (int i = 0; i <jsonArray.length() ; i++) { JSONObject jsonObject1=jsonArray.getJSONObject(i); String name=jsonObject1.getString("name").trim(); String mail=jsonObject1.getString("mail").trim(); Snackbar snackbar=Snackbar.make(my_manager, name+mail+"لاگین شدید",Snackbar.LENGTH_LONG); snackbar.getView().setTranslationY(-100); snackbar.show(); } } } catch (JSONException e) { e.printStackTrace(); Toast.makeText(loginn.this, "error1"+e.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(loginn.this, "error2"+error.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String>params=new HashMap<>(); params.put("mail",mail); params.put("pass",pass); return params; } }; RequestQueue requestQueue= Volley.newRequestQueue(this); requestQueue.add(request); } } ممنون میشم کمکم کنید 
    • توسط hossein1212
      سلام 
      من در اجرا شبیه ساز به مشکل زیر خورده ام راه حلی داره
      اینترنتم اوکیه ولی دانلود نمیکنه


  • فایل

×
×
  • اضافه کردن...